generated from administrator/template_project
before start
This commit is contained in:
+13
-4
@@ -1,5 +1,14 @@
|
||||
/.svn
|
||||
CMakeLists.txt.user*
|
||||
*.user
|
||||
/build*
|
||||
/bin
|
||||
/release
|
||||
/build
|
||||
/*_build_*
|
||||
*.orig
|
||||
/.*
|
||||
*__pycache__*
|
||||
*test-results.xml
|
||||
|
||||
# Secrets
|
||||
.jenkins_token
|
||||
|
||||
# Temporary deployment files
|
||||
meshcontroller.tar.gz
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# test_server
|
||||
|
||||
A C++ HTTP server using the PIP library.
|
||||
|
||||
## Build & Run
|
||||
|
||||
```bash
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
make
|
||||
./test_server
|
||||
```
|
||||
|
||||
## Key Facts
|
||||
|
||||
- **C++ Standard**: C++11 (enforced)
|
||||
- **Build System**: CMake (generates `compile_commands.json` automatically)
|
||||
- **Build Directory**: `/build` (ignored in git)
|
||||
- **Entrypoint**: `src/main.cpp`
|
||||
|
||||
## Dependencies
|
||||
|
||||
The project uses a custom **PIP C++ library** (not Python pip). Required components:
|
||||
- `PIP::Console` - Console output (`piCout`)
|
||||
- `PIP::HTTPServer` - HTTP server functionality
|
||||
- `PIP::IOUtils` - I/O utilities
|
||||
- `PIP::ClientServer` - Client/server infrastructure
|
||||
|
||||
## Code Style
|
||||
|
||||
- **Formatter**: clang-format (config in `.clang-format`)
|
||||
- **Indent**: Tabs, width 4
|
||||
- **Column Limit**: 140 characters
|
||||
- **Encoding**: UTF-8
|
||||
|
||||
Run formatter:
|
||||
```bash
|
||||
clang-format -i src/*.cpp src/*.h
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
The server creates a `PIKbdListener` that:
|
||||
- Captures F10 key press for graceful exit
|
||||
- Starts an HTTP server (address printed on startup)
|
||||
- Waits for exit signal via `WAIT_FOR_EXIT` macro
|
||||
|
||||
## Notes
|
||||
|
||||
- Qt Creator is the primary IDE (`.qtcreator/` config present)
|
||||
- No tests or CI configured
|
||||
Reference in New Issue
Block a user