# [graph](https://git.tek.govt.hu/dowerx/graph) ## Moduláris grafikon megjelenítő Dinamikusan betöltött könyvtárok segítségével adható meg a megjelenített adat.\ Példaként egy HTTP szerver plugint készítettem hozzá. ![demo gif](doc/demo.gif) ## Fordítás A projekt a CMake buildrendszert használja és Debian 12 (Bookworm) rendszeren volt tesztelve. Nem tartalmaz platformspecifikus kódot. POSIX kompatibilis környezetben elméletileg lefordítható. Fuggőségei: - C++ 20 vagy nagyobb - Qt 6 - [flags-cpp](https://git.tek.govt.hu/dowerx/flags-cpp), C++ parancssori paraméter feldolgozó könyvtár - [rum](https://git.tek.govt.hu/dowerx/rum), C++ web API könyvtár - [nlohmann::json](https://github.com/nlohmann/json), C++ JSON könyvtár Fordítási parancsok: ```sh mkdir -p build && cd build cmake .. && make -j $(nproc) ``` Elkészült fájlok: - *server*: a program grafikus része, a pluginok betöltője - *plugins/libhttp.so*: HTTP szerver plugin ## Használat - *server* futtatása: `./server`, a megadott paramétereket a betöltött pluginek később megkapják - *Ctrl+A*: grafikon hozzáadása - *Ctrl+L*: plugin betöltése - *grafikonra jobbklikk* - *Clear*: grafikon tartalmának törlése - *Remove*: grafikon törélse - *pluginra duplaklikk*: plugin eltávolítása ## HTTP plugin A plugin a kapott paraméterek felhasználva indít egy HTTP szervert és az arra érkezett kérések alapján ad adatokat a grafikonokhoz. ```sh $ ./server --help Help: --help: print help --port: http port --workers: number of worker threads ``` ## Példa A *test* mappában található egy Python script, ez használható a HTTP plugin tesztelésére: ```sh $ ./test.py --help usage: test.py [-h] [-t {sine,cosine,sine_array,star}] [-n NUM] [-d DELAY] -c CHART -s SERIES [-p PORT] [-a ADDRESS] options: -h, --help show this help message and exit -t {sine,cosine,sine_array,star} test type -n NUM sin_array size/iteration -d DELAY delay between iteration -c CHART chart id -s SERIES series name -p PORT server port -a ADDRESS server address ```