ImSQL
C++ 기반 SQL 자동화 및 라이선스 관리 엔진
Loading...
Searching...
No Matches
engine.hpp
Go to the documentation of this file.
1
7#pragma once
8
9#include <utils/utils.hpp>
11#include <api/api_server.hpp>
12#include <string>
13#include <thread>
14#include <csignal>
15#include <atomic>
16
17#ifndef ENGINE_H
18#define ENGINE_H
19
20namespace engine {
21
30class Engine {
31public:
35 Engine() = default;
36
42 ~Engine();
43
49 EngineState loadConfig(const std::string& filepath);
50
60
67 EngineState run() const;
68
75
81 static std::unique_ptr<Engine> createSharedEngine();
82
83private:
87 void updateAll();
88
92 void updateDeviceInfo();
93
97 void updateEventArea();
98
102 void updateDisplay();
103
108 void getJsonSystemUsage(uint64_t frame_count);
109
110private:
111 std::unique_ptr<ApiServer> m_api_server;
112
113 license::LicenseChecker m_license_checker;
114
115 std::vector<int> m_device_id_table;
116 std::string m_config_filepath;
117 utils::EngineConfig m_config;
118};
119
120} // namespace engine
121
122#endif // ENGINE_H // end of Engine
ImSQL 엔진과 통신하는 API 서버 클래스 정의 파일입니다.
~Engine()
소멸자.
Definition engine.cpp:17
EngineState loadConfig(const std::string &filepath)
엔진 설정 파일을 로드합니다.
Definition engine.cpp:25
EngineState run() const
엔진 메인 루프를 실행합니다.
Definition engine.cpp:156
EngineState release()
엔진 리소스를 해제합니다.
Definition engine.cpp:207
Engine()=default
기본 생성자.
static std::unique_ptr< Engine > createSharedEngine()
Engine 인스턴스를 생성합니다.
Definition engine.cpp:21
EngineState init()
엔진을 초기화합니다.
Definition engine.cpp:36
라이선스 파일을 로드하고 검증하는 클래스.
Definition license_checker.hpp:21
엔진의 실행 및 초기화 상태를 나타내는 열거형을 정의하는 파일입니다.
EngineState
엔진 실행 및 초기화 상태를 나타내는 열거형(enum class).
Definition engine_state.hpp:22
엔진 전체 설정을 저장하는 구조체.
Definition engine_config.hpp:36
다양한 범용 유틸리티 함수와 공통 설정을 포함하는 헤더 파일입니다.