28#ifndef _CommandClass_H
29#define _CommandClass_H
61 RequestFlag_Static = 0x00000001,
62 RequestFlag_Session = 0x00000002,
63 RequestFlag_Dynamic = 0x00000004,
64 RequestFlag_AfterMark = 0x00000008
70 virtual void ReadXML( TiXmlElement
const* _ccElement );
71 virtual void WriteXML( TiXmlElement* _ccElement );
74 virtual void refreshValuesOnWakeup();
79 string const GetCommandClassLabel();
80 void SetCommandClassLabel(
string label);
85 virtual void SetVersion(
uint8 const _version );
88 bool CheckForRefreshValues(
Value const* _value );
99 Node* GetNodeUnsafe()
const;
101 bool RemoveValue(
uint8 const _instance,
uint16 const _index );
104 map<uint8,uint8>::iterator it = m_endPointMap.find( _instance );
105 return( it == m_endPointMap.end() ? 0 : it->second );
109 for( map<uint8,uint8>::iterator it = m_endPointMap.begin(); it != m_endPointMap.end(); ++it )
111 if( _endPoint == it->second )
119 void SetInstances(
uint8 const _instances );
120 void SetInstance(
uint8 const _endPoint );
122 virtual void SetInstanceLabel(
uint8 const _instance,
char *label);
123 string GetInstanceLabel(
uint8 const _instance);
137 string ExtractValue(
uint8 const* _data,
uint8* _scale,
uint8* _precision,
uint8 _valueOffset = 1 )
const;
146 void AppendValue(
Msg* _msg,
string const& _value,
uint8 const _scale )
const;
147 uint8 const GetAppendValueSize(
string const& _value )
const;
148 int32 ValueToInteger(
string const& _value,
uint8* o_precision,
uint8* o_size )
const;
150 void UpdateMappedClass(
uint8 const _instance,
uint8 const _classId,
uint8 const _value );
162 void ReadValueRefreshXML ( TiXmlElement
const* _ccElement );
175 map<uint8,uint8> m_endPointMap;
176 map<uint8, string> m_instanceLabel;
178 bool m_SecureSupport;
179 std::vector<RefreshValue *> m_RefreshClassValues;
180 string m_commandClassLabel;
187 StaticRequest_Instances = 0x01,
188 StaticRequest_Values = 0x02,
189 StaticRequest_Version = 0x04
193 void SetStaticRequest( uint8_t _request );
194 void ClearStaticRequest( uint8_t _request );
unsigned short uint16
Definition: Defs.h:92
unsigned int uint32
Definition: Defs.h:95
signed int int32
Definition: Defs.h:94
#define OPENZWAVE_EXPORT_WARNINGS_ON
Definition: Defs.h:53
#define OPENZWAVE_EXPORT
Definition: Defs.h:51
#define OPENZWAVE_EXPORT_WARNINGS_OFF
Definition: Defs.h:52
unsigned char uint8
Definition: Defs.h:89
Definition: Bitfield.h:37
Base class for all Z-Wave command classes.
Definition: CommandClass.h:56
void SetEndPoint(uint8 const _instance, uint8 const _endpoint)
Definition: CommandClass.h:126
void ReceivedCntIncr()
Definition: CommandClass.h:204
virtual bool HandleIncomingMsg(uint8 const *_data, uint32 const _length, uint32 const _instance=1)
Definition: CommandClass.h:82
uint32 GetSentCnt() const
Definition: CommandClass.h:201
bool HasStaticRequest(uint8_t _request) const
Definition: CommandClass.h:192
virtual void CreateVars(uint8 const _instance, uint8 const _index)
Definition: CommandClass.h:168
uint8 GetNodeId() const
Definition: CommandClass.h:97
void SetSecureSupport()
Definition: CommandClass.h:132
virtual bool RequestState(uint32 const _requestFlags, uint8 const _instance, Driver::MsgQueue const _queue)
Definition: CommandClass.h:72
bool IsSecureSupported() const
Definition: CommandClass.h:130
virtual uint8 const GetCommandClassId() const =0
virtual uint8 GetMaxVersion()
Definition: CommandClass.h:92
uint8 GetVersion() const
Definition: CommandClass.h:94
void SentCntIncr()
Definition: CommandClass.h:203
bool IsAfterMark() const
Definition: CommandClass.h:127
CompatOptionManager m_dom
Definition: CommandClass.h:164
uint32 GetHomeId() const
Definition: CommandClass.h:96
virtual bool RequestValue(uint32 const _requestFlags, uint16 const _index, uint8 const _instance, Driver::MsgQueue const _queue)
Definition: CommandClass.h:73
Bitfield const * GetInstances() const
Definition: CommandClass.h:95
uint32 GetReceivedCnt() const
Definition: CommandClass.h:202
virtual bool SetValue(Value const &_value)
Definition: CommandClass.h:83
bool IsSecured() const
Definition: CommandClass.h:128
StaticRequest
Definition: CommandClass.h:186
bool IsInNIF()
Definition: CommandClass.h:134
virtual bool HandleMsg(uint8 const *_data, uint32 const _length, uint32 const _instance=1)=0
void SetSecured()
Definition: CommandClass.h:129
CompatOptionManager m_com
Definition: CommandClass.h:163
void SetInNIF()
Definition: CommandClass.h:133
virtual void CreateVars(uint8 const _instance)
Definition: CommandClass.h:161
uint8 GetNumInstances()
Definition: CommandClass.h:124
virtual void SetValueBasic(uint8 const _instance, uint8 const _level)
Definition: CommandClass.h:84
virtual string const GetCommandClassName() const =0
void ClearSecureSupport()
Definition: CommandClass.h:131
void SetAfterMark()
Definition: CommandClass.h:125
uint8 GetEndPoint(uint8 const _instance)
Definition: CommandClass.h:102
uint8 GetInstance(uint8 const _endPoint)
Definition: CommandClass.h:107
Definition: CompatOptionManager.h:110
uint8_t GetFlagByte(CompatOptionFlags flag) const
Definition: CompatOptionManager.cpp:284
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:65
MsgQueue
Definition: Driver.h:592
Message object to be passed to and from devices on the Z-Wave network.
Definition: Msg.h:45
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:66
Base class for values associated with a node.
Definition: Value.h:49
Definition: Bitfield.h:35
@ STATE_FLAG_STATIC_REQUESTS
Definition: CompatOptionManager.h:60
@ STATE_FLAG_INNIF
Definition: CompatOptionManager.h:63
@ STATE_FLAG_AFTERMARK
Definition: CompatOptionManager.h:61
@ STATE_FLAG_CCVERSION
Definition: CompatOptionManager.h:59
@ STATE_FLAG_ENCRYPTED
Definition: CompatOptionManager.h:62
Definition: CommandClass.h:152
uint8 instance
Definition: CommandClass.h:155
std::vector< RefreshValue * > RefreshClasses
Definition: CommandClass.h:157
uint8 genre
Definition: CommandClass.h:154
uint16 index
Definition: CommandClass.h:156
uint8 cc
Definition: CommandClass.h:153