28 #ifndef _CommandClass_H 29 #define _CommandClass_H 66 RequestFlag_Static = 0x00000001,
67 RequestFlag_Session = 0x00000002,
68 RequestFlag_Dynamic = 0x00000004,
69 RequestFlag_AfterMark = 0x00000008
75 virtual void ReadXML(TiXmlElement
const* _ccElement);
76 virtual void WriteXML(TiXmlElement* _ccElement);
85 virtual void refreshValuesOnWakeup();
87 virtual uint8 const GetCommandClassId()
const = 0;
88 virtual string const GetCommandClassName()
const = 0;
89 string const GetCommandClassLabel();
90 void SetCommandClassLabel(
string label);
91 virtual bool HandleMsg(
uint8 const* _data,
uint32 const _length,
uint32 const _instance = 1) = 0;
92 virtual bool HandleIncomingMsg(
uint8 const* _data,
uint32 const _length,
uint32 const _instance = 1);
100 virtual void SetVersion(
uint8 const _version);
128 Driver* GetDriver()
const;
129 Node* GetNodeUnsafe()
const;
131 bool RemoveValue(
uint8 const _instance,
uint16 const _index);
134 map<uint8, uint8>::iterator it = m_endPointMap.find(_instance);
135 return (it == m_endPointMap.end() ? 0 : it->second);
139 for (map<uint8, uint8>::iterator it = m_endPointMap.begin(); it != m_endPointMap.end(); ++it)
141 if (_endPoint == it->second)
149 void SetInstances(
uint8 const _instances);
150 void SetInstance(
uint8 const _endPoint);
152 virtual void SetInstanceLabel(
uint8 const _instance,
char *label);
153 string GetInstanceLabel(
uint8 const _instance);
156 return (
uint8) m_endPointMap.size();
165 m_endPointMap[_instance] = _endpoint;
181 return m_SecureSupport;
185 m_SecureSupport =
false;
189 m_SecureSupport =
true;
201 string ExtractValue(
uint8 const* _data,
uint8* _scale,
uint8* _precision,
uint8 _valueOffset = 1)
const;
210 void AppendValue(
Msg* _msg,
string const& _value,
uint8 const _scale)
const;
211 uint8 const GetAppendValueSize(
string const& _value)
const;
212 int32 ValueToInteger(
string const& _value,
uint8* o_precision,
uint8* o_size)
const;
214 void UpdateMappedClass(
uint8 const _instance,
uint8 const _classId,
uint8 const _value);
229 void ReadValueRefreshXML(TiXmlElement
const* _ccElement);
242 map<uint8, uint8> m_endPointMap;
243 map<uint8, string> m_instanceLabel;
244 bool m_SecureSupport;
245 std::vector<RefreshValue *> m_RefreshClassValues;
246 string m_commandClassLabel;
253 StaticRequest_Instances = 0x01,
254 StaticRequest_Values = 0x02,
255 StaticRequest_Version = 0x04
262 void SetStaticRequest(uint8_t _request);
263 void ClearStaticRequest(uint8_t _request);
275 return m_receivedCnt;
Definition: CompatOptionManager.h:74
CompatOptionManager m_dom
Definition: CommandClass.h:231
uint8 GetVersion() const
Definition: CommandClass.h:112
Definition: Bitfield.cpp:30
MsgQueue
Definition: Driver.h:659
uint32 GetSentCnt() const
Definition: CommandClass.h:269
Definition: CompatOptionManager.h:72
uint8 instance
Definition: CommandClass.h:220
#define OPENZWAVE_EXPORT
Definition: Defs.h:52
virtual bool RequestState(uint32 const _requestFlags, uint8 const _instance, Driver::MsgQueue const _queue)
Definition: CommandClass.h:77
unsigned short uint16
Definition: Defs.h:88
std::vector< RefreshValue * > RefreshClasses
Definition: CommandClass.h:222
bool HasStaticRequest(uint8_t _request) const
Definition: CommandClass.h:258
uint8 GetEndPoint(uint8 const _instance)
Definition: CommandClass.h:132
void ReceivedCntIncr()
Definition: CommandClass.h:281
virtual void SetValueBasic(uint8 const _instance, uint8 const _level)
Definition: CommandClass.h:97
virtual void CreateVars(uint8 const _instance, uint8 const _index)
Definition: CommandClass.h:234
uint8 GetNumInstances()
Definition: CommandClass.h:154
virtual void CreateVars(uint8 const _instance)
Definition: CommandClass.h:226
bool IsSecured() const
Definition: CommandClass.h:171
void SetEndPoint(uint8 const _instance, uint8 const _endpoint)
Definition: CommandClass.h:163
uint8 GetInstance(uint8 const _endPoint)
Definition: CommandClass.h:137
Container that holds all of the values associated with a given node.
Definition: ValueStore.h:49
void SetInNIF()
Definition: CommandClass.h:191
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:81
Base class for all Z-Wave command classes.
Definition: CommandClass.h:60
uint8 genre
Definition: CommandClass.h:219
Definition: CommandClass.h:216
void SentCntIncr()
Definition: CommandClass.h:277
uint8 GetNodeId() const
Definition: CommandClass.h:124
Definition: CompatOptionManager.h:71
uint32 GetReceivedCnt() const
Definition: CommandClass.h:273
bool IsSecureSupported() const
Definition: CommandClass.h:179
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:84
bool IsAfterMark() const
Definition: CommandClass.h:167
Definition: CompatOptionManager.h:75
signed int int32
Definition: Defs.h:90
unsigned int uint32
Definition: Defs.h:91
virtual bool RequestValue(uint32 const _requestFlags, uint16 const _index, uint8 const _instance, Driver::MsgQueue const _queue)
Definition: CommandClass.h:81
uint8 cc
Definition: CommandClass.h:218
virtual bool SetValue(Internal::VC::Value const &_value)
Definition: CommandClass.h:93
virtual uint8 GetMaxVersion()
Definition: CommandClass.h:107
Definition: CompatOptionManager.h:73
StaticRequest
Definition: CommandClass.h:251
Definition: CompatOptionManager.h:140
CompatOptionManager m_com
Definition: CommandClass.h:230
uint16 index
Definition: CommandClass.h:221
Definition: Bitfield.h:39
void SetSecured()
Definition: CommandClass.h:175
uint8_t GetFlagByte(CompatOptionFlags flag, uint32_t index=-1) const
Definition: CompatOptionManager.cpp:466
uint32 GetHomeId() const
Definition: CommandClass.h:120
Bitfield const * GetInstances() const
Definition: CommandClass.h:116
void SetSecureSupport()
Definition: CommandClass.h:187
Message object to be passed to and from devices on the Z-Wave network.
Definition: Msg.h:50
Base class for values associated with a node.
Definition: Value.h:53
void SetAfterMark()
Definition: CommandClass.h:159
bool IsInNIF()
Definition: CommandClass.h:195
void ClearSecureSupport()
Definition: CommandClass.h:183
unsigned char uint8
Definition: Defs.h:85