cvtdriver
Driver for SmartFarm Device Converter
cvtcommand.h
이 파일의 문서화 페이지로 가기
1 
12 #ifndef _CVT_COMMAND_
13 #define _CVT_COMMAND_
14 
15 #include "cvtdevicespec.h"
16 
17 namespace stdcvt {
18 
19 /*
20  @brief CvtCommand 는 개별 장비에 전달할 명령 클래스이다. 기본적으로 켜고, 끄는 기능만 가지고 있다.
21 */
22 class CvtCommand {
23 private:
24  int _id;
25  CvtDeviceSpec _devspec;
26  bool _onoff;
27 
28 public:
35  CvtCommand(int cmdid, CvtDeviceSpec *pdevspec, bool onoff) {
36  _id = cmdid;
37  _onoff = onoff;
38  _devspec.copy (pdevspec);
39  }
40 
41  virtual ~CvtCommand() {
42  }
43 
48  int getid() {
49  return _id;
50  }
51 
57  int setid(int id) {
58  _id = id;
59  return _id;
60  }
61 
67  return &_devspec;
68  }
69 
74  bool getonoff() {
75  return _onoff;
76  }
77 
83  bool setonoff (bool onoff) {
84  _onoff = onoff;
85  return _onoff;
86  }
87 };
88 
89 /*
90  @brief CvtRatioCommand 는 목표비율을 지정하기위한 명령으로, CvtCommand를 상속한다. 개폐기와 같은 모터형 구동기에 어울리는 명령이다.
91 */
92 class CvtRatioCommand : public CvtCommand {
93 private:
94  double _ratio;
95 
96 public:
104  CvtRatioCommand(int cmdid, CvtDeviceSpec *pdevspec, bool onoff, double ratio)
105  : CvtCommand (cmdid, pdevspec, onoff) {
106  _ratio = ratio;
107  }
108 
113  double getratio () {
114  return _ratio;
115  }
116 };
117 
118 /*
119  @brief CvtRawCommand 는 특정 장비에게 전달되는 명령으로, 특별한 기능을 가진 장비에게 전달하는 메세지 이다.
120 */
121 class CvtRawCommand : public CvtCommand {
122 private:
123  int _modelcode;
124  string _devid;
125  string _base64arg;
126 
127 public:
137  CvtRawCommand(int cmdid, CvtDeviceSpec *pdevspec, bool onoff,
138  int modelcode, string devid, string arg)
139  : CvtCommand (cmdid, pdevspec, onoff) {
140  _modelcode = modelcode;
141  _devid = devid;
142  _base64arg = arg;
143  }
144 
149  int getmodelcode () {
150  return _modelcode;
151  }
152 
157  string getdevid () {
158  return _devid;
159  }
160 
165  string getarg() {
166  return _base64arg;
167  }
168 };
169 
170 } // namespace stdcvt
171 #endif
int getmodelcode()
Definition: cvtcommand.h:149
string getdevid()
Definition: cvtcommand.h:157
Definition: cvtcommand.h:121
int setid(int id)
Definition: cvtcommand.h:57
Definition: cvtcommand.h:92
double getratio()
Definition: cvtcommand.h:113
CvtDeviceSpec * getdevspec()
Definition: cvtcommand.h:66
Definition: cvtcommand.h:22
CvtRawCommand(int cmdid, CvtDeviceSpec *pdevspec, bool onoff, int modelcode, string devid, string arg)
Definition: cvtcommand.h:137
string getarg()
Definition: cvtcommand.h:165
int getid()
Definition: cvtcommand.h:48
bool copy(CvtDeviceSpec *pdevspec)
Definition: cvtdevicespec.h:167
CvtRatioCommand(int cmdid, CvtDeviceSpec *pdevspec, bool onoff, double ratio)
Definition: cvtcommand.h:104
bool setonoff(bool onoff)
Definition: cvtcommand.h:83
CvtCommand(int cmdid, CvtDeviceSpec *pdevspec, bool onoff)
Definition: cvtcommand.h:35
Definition: cvtcode.h:17
Definition: cvtdevicespec.h:40
bool getonoff()
Definition: cvtcommand.h:74