| Родител: Applications Subsystem | Architecture Overview |
Executable: Daqster
Location: src/apps/Daqster/
Type: Qt Widgets Application
Главното приложение на проекта. Предоставя UI за зареждане и управление на плъгини, стартиране на процеси и интеграция на всички компоненти.
File: main.cpp
Инициализира:
QApplication)ApplicationsManager singletonQPluginManagerFile: ApplicationsManager.{h,cpp}
Централен мениджър за:
Виж ApplicationsManager.md за детайли.
File: AppToolbar.{h,cpp}
Toolbar UI компонент за:
File: mainwindow.ui
Qt Designer UI файл с layout на главния прозорец.
CMake target: Daqster
cd src/apps
mkdir build && cd build
cmake ..
make Daqster
Или от root:
cmake --build . --target Daqster
1. main()
↓
2. QApplication creation
↓
3. ShutdownHandler::install()
↓
4. ApplicationsManager::Instance()
↓
5. QPluginManager setup
↓
6. Load plugins from plugins/Daqster/
↓
7. Show main window
↓
8. Event loop (exec())
Виж startup sequence diagram за визуализация.
<install_dir>/plugins/Daqster/
XDG_CONFIG_HOME: ~/.config/Daqster/
XDG_CACHE_HOME: ~/.cache/Daqster/
XDG_DATA_HOME: ~/.local/share/Daqster/
Автоматично детектиран чрез APPIMAGE environment variable.
# Normal mode
./Daqster
# With specific plugin
./Daqster --plugin NodeEditor
# Headless mode (no GUI)
./Daqster --headless
# Debug mode
QT_DEBUG_PLUGINS=1 ./Daqster
Виж HowToDebugAppImage.md за debugging на AppImage версията.
export QT_DEBUG_PLUGINS=1
./Daqster
gdb ./Daqster
(gdb) run
(gdb) bt # backtrace при crash
Daqster Application
├── ApplicationsManager (Singleton)
│ ├── QProcessManager (Base)
│ ├── QPluginManager (Plugin system)
│ └── ShutdownHandler (Signal handling)
│
├── UI Layer
│ ├── Main Window
│ ├── AppToolbar
│ └── Plugin Widgets
│
└── Plugins
├── NodeEditor
├── QtCoinTrader
└── ... (extensible)