Browse Source

update

storage-in-realtime
zhaohe 12 months ago
parent
commit
0eccaf1574
  1. 33
      appsrc/service/app/pipeline_pressure_control.cpp
  2. 64
      appsrc/service/app/pipeline_pressure_control.hpp
  3. 2
      appsrc/service/main_control_service.cpp

33
appsrc/service/app/pipeline_pressure_control.cpp

@ -0,0 +1,33 @@
#include "pipeline_pressure_control.hpp"
using namespace iflytop;
void PipelinePressureControl::initialize() {
REGFNV2(PipelinePressureControl, setType);
REGFNV2(PipelinePressureControl, setIntensity);
REGFNV2(PipelinePressureControl, getState);
REGFNV2(PipelinePressureControl, getConfig);
m_type = "positivePressure";
m_intensity = "10%";
}
void PipelinePressureControl::fn_setType(shared_ptr<MsgProcessContext> cxt) { m_type = cxt->params["type"]; }
void PipelinePressureControl::fn_getConfig(shared_ptr<MsgProcessContext> cxt) {
json cfg;
cfg["types"] = {"constantPressure", "positivePressure", "negativePressure"};
cfg["typeDisplayNames"] = {"恒压", "正压", "负压"};
cfg["intensitys"]["constantPressure"] = {};
cfg["intensitys"]["positivePressure"] = {"0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"};
cfg["intensitys"]["negativePressure"] = {"0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"};
cxt->content = cfg;
}
void PipelinePressureControl::fn_setIntensity(shared_ptr<MsgProcessContext> cxt) {
string intensity = cxt->params["intensity"];
m_intensity = intensity;
}
void PipelinePressureControl::fn_getState(shared_ptr<MsgProcessContext> cxt) {
json state;
state["type"] = m_type;
state["intensity"] = m_intensity;
cxt->content = state;
}

64
appsrc/service/app/pipeline_pressure_control.hpp

@ -0,0 +1,64 @@
#pragma once
#include <fstream>
#include <iostream>
#include <list>
#include <map>
#include <memory>
#include <set>
#include <sstream>
#include <string>
#include <vector>
//
#include "baseservice/baseservice.hpp"
namespace iflytop {
class PipelinePressureControl : public enable_shared_from_this<PipelinePressureControl> {
ENABLE_LOGGER(AddLiquidService);
typedef enum {
kpositivePressure, // 正压
knegativePressure, // 负压
} type_t;
static inline string type2str(type_t t) {
switch (t) {
case kpositivePressure:
return "positivePressure";
case knegativePressure:
return "negativePressure";
default:
return "unknown";
}
}
static inline type_t str2type(const string& s, bool& suc) {
suc = true;
if (s == "positivePressure") {
return kpositivePressure;
} else if (s == "negativePressure") {
return knegativePressure;
} else {
suc = false;
return kpositivePressure;
}
}
public:
shared_ptr<DBService> m_db;
shared_ptr<DeviceStateService> m_ds;
shared_ptr<GConfig> m_gConfig;
string m_type;
string m_intensity;
public:
void initialize();
private:
void fn_setType(shared_ptr<MsgProcessContext> cxt);
void fn_setIntensity(shared_ptr<MsgProcessContext> cxt);
void fn_getState(shared_ptr<MsgProcessContext> cxt);
void fn_getConfig(shared_ptr<MsgProcessContext> cxt);
private:
};
} // namespace iflytop

2
appsrc/service/main_control_service.cpp

@ -15,6 +15,7 @@
#include "service/app/air_tightness_test.hpp" #include "service/app/air_tightness_test.hpp"
#include "service/app/disinfection_service.hpp" #include "service/app/disinfection_service.hpp"
#include "service/app/drain_liquid_service.hpp" #include "service/app/drain_liquid_service.hpp"
#include "service/app/pipeline_pressure_control.hpp"
using namespace iflytop; using namespace iflytop;
using namespace core; using namespace core;
@ -34,6 +35,7 @@ void MainControlService::initialize() {
BUILD_AND_REG_SERRVICE(FrontMsgProcesser); BUILD_AND_REG_SERRVICE(FrontMsgProcesser);
BUILD_AND_REG_SERRVICE(DBService); BUILD_AND_REG_SERRVICE(DBService);
BUILD_AND_REG_SERRVICE(DeviceStateService); BUILD_AND_REG_SERRVICE(DeviceStateService);
BUILD_AND_REG_SERRVICE(PipelinePressureControl);
// //
BUILD_AND_REG_SERRVICE(UDiskMgrService); BUILD_AND_REG_SERRVICE(UDiskMgrService);

Loading…
Cancel
Save