You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.8 KiB
95 lines
2.8 KiB
//
|
|
// Created by zwsd
|
|
//
|
|
|
|
#pragma once
|
|
#include <fstream>
|
|
#include <iostream>
|
|
#include <list>
|
|
#include <map>
|
|
#include <memory>
|
|
#include <mutex>
|
|
#include <set>
|
|
#include <sstream>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#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<DisinfectionCtrlService> {
|
|
ENABLE_LOGGER(DisinfectionCtrlService);
|
|
|
|
private:
|
|
recursive_mutex lock_;
|
|
|
|
shared_ptr<AddLiquidService> m_addLiquidService;
|
|
shared_ptr<DrainLiquidService> m_drainLiquidService;
|
|
shared_ptr<DisinfectionService> m_disinfectionService;
|
|
|
|
public:
|
|
DisinfectionCtrlService() {}
|
|
|
|
public:
|
|
void initialize() {
|
|
m_addLiquidService = make_shared<AddLiquidService>();
|
|
m_drainLiquidService = make_shared<DrainLiquidService>();
|
|
m_disinfectionService = make_shared<DisinfectionService>();
|
|
|
|
m_addLiquidService->initialize();
|
|
m_drainLiquidService->initialize();
|
|
m_disinfectionService->initialize();
|
|
}
|
|
|
|
shared_ptr<AddLiquidService> getAddLiquidService() { return m_addLiquidService; }
|
|
shared_ptr<DrainLiquidService> getDrainLiquidService() { return m_drainLiquidService; }
|
|
shared_ptr<DisinfectionService> 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
|