// // Created by zwsd // #pragma once #include #include #include #include #include #include #include #include #include #include #include "disinfection_logs_manager.hpp" #include "disinfection_state.hpp" #include "iflytop/components/zcanreceiver/zcanhost.hpp" #include "iflytop/core/core.hpp" #include "service/device_io_control_service.hpp" #include "utils/dvalue_computer.hpp" #include "zservice_container/zservice_container.hpp" /** * @brief * * service: 消毒打印机服务 */ namespace iflytop { using namespace std; using namespace core; class DisinfectionPrinterService : public enable_shared_from_this { ENABLE_LOGGER(DisinfectionPrinterService); private: shared_ptr m_deviceIoControlService; recursive_mutex lock_; unique_ptr m_workThread; queue> tasks; public: DisinfectionPrinterService() {} public: void initialize(); void pushPrintTask(shared_ptr task); private: void printTask(shared_ptr task); }; } // namespace iflytop