// // Created by zwsd // #pragma once #include #include #include #include #include #include #include #include #include #include #include "disfection_ctl/add_liquid_service.hpp" #include "disfection_ctl/disinfection_service.hpp" #include "disfection_ctl/disinfection_state.hpp" #include "disfection_ctl/drain_liquid_service.hpp" /** * @brief * * service: DisinfectionCtrlService * * 监听事件: * 依赖状态: * 依赖服务: * 作用: * */ namespace iflytop { using namespace std; using namespace core; class DisinfectionCtrlService : public enable_shared_from_this { ENABLE_LOGGER(DisinfectionCtrlService); private: recursive_mutex lock_; shared_ptr m_addLiquidService; shared_ptr m_drainLiquidService; shared_ptr m_disinfectionService; public: DisinfectionCtrlService() {} public: void initialize() { m_addLiquidService = make_shared(); m_drainLiquidService = make_shared(); m_disinfectionService = make_shared(); m_addLiquidService->initialize(); m_drainLiquidService->initialize(); m_disinfectionService->initialize(); } shared_ptr getAddLiquidService() { return m_addLiquidService; } shared_ptr getDrainLiquidService() { return m_drainLiquidService; } shared_ptr getDisinfectionService() { return m_disinfectionService; } void startDisinfection(int loglevel, // int injection_pump_speed, // int stoped_gs, // int continued_gs, // int stoped_satur, // int continued_satur, // int stoped_humi, // int continued_humi // ); void changeDisinfectionParameter(int injection_pump_speed, // int stoped_gs, // int continued_gs, // int stoped_satur, // int continued_satur, // int stoped_humi, // int continued_humi // ); void stopDisinfection(); #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) void startReplenishingFluids(int stopatg); void stopReplenishingFluids(); void startDraining(); void stopDraining(); #endif private: }; } // namespace iflytop