OpenZWave Library  1.5.0
Manager.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 //
3 // Manager.h
4 //
5 // The main public interface to OpenZWave.
6 //
7 // Copyright (c) 2010 Mal Lansell <openzwave@lansell.org>
8 //
9 // SOFTWARE NOTICE AND LICENSE
10 //
11 // This file is part of OpenZWave.
12 //
13 // OpenZWave is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU Lesser General Public License as published
15 // by the Free Software Foundation, either version 3 of the License,
16 // or (at your option) any later version.
17 //
18 // OpenZWave is distributed in the hope that it will be useful,
19 // but WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 // GNU Lesser General Public License for more details.
22 //
23 // You should have received a copy of the GNU Lesser General Public License
24 // along with OpenZWave. If not, see <http://www.gnu.org/licenses/>.
25 //
26 //-----------------------------------------------------------------------------
27 
28 #ifndef _Manager_H
29 #define _Manager_H
30 
31 #include <string>
32 #include <cstring>
33 #include <vector>
34 #include <map>
35 #include <list>
36 #include <deque>
37 
38 #include "Defs.h"
39 #include "Driver.h"
40 #include "Group.h"
41 #include "value_classes/ValueID.h"
42 
43 namespace OpenZWave
44 {
45  class Options;
46  class Node;
47  class Msg;
48  class Value;
49  class Event;
50  class Mutex;
51  class SerialPort;
52  class Thread;
53  class Notification;
54  class ValueBitSet;
55  class ValueBool;
56  class ValueByte;
57  class ValueDecimal;
58  class ValueInt;
59  class ValueList;
60  class ValueShort;
61  class ValueString;
62  class ValueRaw;
63 
111  {
112  friend class Driver;
113  friend class CommandClass;
114  friend class Group;
115  friend class Node;
116  friend class Value;
117  friend class ValueStore;
118  friend class ValueButton;
119  friend class Msg;
120 
121  public:
122  typedef void (*pfnOnNotification_t)( Notification const* _pNotification, void* _context );
123 
124  //-----------------------------------------------------------------------------
125  // Construction
126  //-----------------------------------------------------------------------------
131  public:
144  static Manager* Create();
145 
151  static Manager* Get(){ return s_instance; }
152 
157  static void Destroy();
158 
163  static std::string getVersionAsString();
164 
169  static std::string getVersionLongAsString();
170 
175  static ozwversion getVersion();
178  private:
179  Manager(); // Constructor, to be called only via the static Create method.
180  virtual ~Manager(); // Destructor, to be called only via the static Destroy method.
181 
182  bool m_exit; // Flag indicating that program exit is in progress.
183  static Manager* s_instance; // Pointer to the instance of the Manager singleton.
184 
185  //-----------------------------------------------------------------------------
186  // Configuration
187  //-----------------------------------------------------------------------------
193  public:
204  void WriteConfig( uint32 const _homeId );
205 
211  Options* GetOptions()const{ return m_options; }
214  private:
215  Options* m_options; // Pointer to the locked Options object that was passed in during creation.
216 
217  //-----------------------------------------------------------------------------
218  // Drivers
219  //-----------------------------------------------------------------------------
224  public:
237  bool AddDriver( string const& _controllerPath, Driver::ControllerInterface const& _interface = Driver::ControllerInterface_Serial);
238 
249  bool RemoveDriver( string const& _controllerPath );
250 
256  uint8 GetControllerNodeId( uint32 const _homeId );
257 
263  uint8 GetSUCNodeId( uint32 const _homeId );
264 
279  bool IsPrimaryController( uint32 const _homeId );
280 
288  bool IsStaticUpdateController( uint32 const _homeId );
289 
297  bool IsBridgeController( uint32 const _homeId );
298 
304  string GetLibraryVersion( uint32 const _homeId );
305 
325  string GetLibraryTypeName( uint32 const _homeId );
326 
332  int32 GetSendQueueCount( uint32 const _homeId );
333 
338  void LogDriverStatistics( uint32 const _homeId );
339 
344  Driver::ControllerInterface GetControllerInterfaceType( uint32 const _homeId );
345 
350  string GetControllerPath( uint32 const _homeId );
353  private:
354  Driver* GetDriver( uint32 const _homeId );
355  void SetDriverReady( Driver* _driver, bool success );
358  list<Driver*> m_pendingDrivers;
359  map<uint32,Driver*> m_readyDrivers;
361 
362  //-----------------------------------------------------------------------------
363  // Polling Z-Wave devices
364  //-----------------------------------------------------------------------------
371  public:
375  int32 GetPollInterval();
376 
388  void SetPollInterval( int32 _milliseconds, bool _bIntervalBetweenPolls );
389 
396  bool EnablePoll( ValueID const &_valueId, uint8 const _intensity = 1 );
397 
403  bool DisablePoll( ValueID const &_valueId );
404 
410  bool isPolled( ValueID const &_valueId );
411 
416  void SetPollIntensity( ValueID const &_valueId, uint8 const _intensity );
417 
425  uint8 GetPollIntensity( ValueID const &_valueId );
426 
429  //-----------------------------------------------------------------------------
430  // Node information
431  //-----------------------------------------------------------------------------
436  public:
447  bool RefreshNodeInfo( uint32 const _homeId, uint8 const _nodeId );
448 
449 
458  bool RequestNodeState( uint32 const _homeId, uint8 const _nodeId );
459 
468  bool RequestNodeDynamic( uint32 const _homeId, uint8 const _nodeId );
469 
476  bool IsNodeListeningDevice( uint32 const _homeId, uint8 const _nodeId );
477 
485  bool IsNodeFrequentListeningDevice( uint32 const _homeId, uint8 const _nodeId );
486 
493  bool IsNodeBeamingDevice( uint32 const _homeId, uint8 const _nodeId );
494 
501  bool IsNodeRoutingDevice( uint32 const _homeId, uint8 const _nodeId );
502 
509  bool IsNodeSecurityDevice( uint32 const _homeId, uint8 const _nodeId );
510 
517  uint32 GetNodeMaxBaudRate( uint32 const _homeId, uint8 const _nodeId );
518 
525  uint8 GetNodeVersion( uint32 const _homeId, uint8 const _nodeId );
526 
533  uint8 GetNodeSecurity( uint32 const _homeId, uint8 const _nodeId );
534 
542  bool IsNodeZWavePlus( uint32 const _homeId, uint8 const _nodeId );
543 
550  uint8 GetNodeBasic( uint32 const _homeId, uint8 const _nodeId );
551 
558  uint8 GetNodeGeneric( uint32 const _homeId, uint8 const _nodeId );
559 
566  uint8 GetNodeSpecific( uint32 const _homeId, uint8 const _nodeId );
567 
575  string GetNodeType( uint32 const _homeId, uint8 const _nodeId );
576 
584  uint32 GetNodeNeighbors( uint32 const _homeId, uint8 const _nodeId, uint8** _nodeNeighbors );
585 
599  string GetNodeManufacturerName( uint32 const _homeId, uint8 const _nodeId );
600 
614  string GetNodeProductName( uint32 const _homeId, uint8 const _nodeId );
615 
628  string GetNodeName( uint32 const _homeId, uint8 const _nodeId );
629 
641  string GetNodeLocation( uint32 const _homeId, uint8 const _nodeId );
642 
657  string GetNodeManufacturerId( uint32 const _homeId, uint8 const _nodeId );
658 
673  string GetNodeProductType( uint32 const _homeId, uint8 const _nodeId );
674 
689  string GetNodeProductId( uint32 const _homeId, uint8 const _nodeId );
690 
704  void SetNodeManufacturerName( uint32 const _homeId, uint8 const _nodeId, string const& _manufacturerName );
705 
719  void SetNodeProductName( uint32 const _homeId, uint8 const _nodeId, string const& _productName );
720 
734  void SetNodeName( uint32 const _homeId, uint8 const _nodeId, string const& _nodeName );
735 
748  void SetNodeLocation( uint32 const _homeId, uint8 const _nodeId, string const& _location );
749 
762  DEPRECATED void SetNodeOn( uint32 const _homeId, uint8 const _nodeId );
763 
774  DEPRECATED void SetNodeOff( uint32 const _homeId, uint8 const _nodeId );
775 
788  DEPRECATED void SetNodeLevel( uint32 const _homeId, uint8 const _nodeId, uint8 const _level );
789 
796  bool IsNodeInfoReceived( uint32 const _homeId, uint8 const _nodeId );
797 
805  bool GetNodeClassInformation( uint32 const _homeId, uint8 const _nodeId, uint8 const _commandClassId,
806  string *_className = NULL, uint8 *_classVersion = NULL);
813  bool IsNodeAwake( uint32 const _homeId, uint8 const _nodeId );
814 
821  bool IsNodeFailed( uint32 const _homeId, uint8 const _nodeId );
822 
829  string GetNodeQueryStage( uint32 const _homeId, uint8 const _nodeId );
830 
831 
838  uint16 GetNodeDeviceType( uint32 const _homeId, uint8 const _nodeId );
839 
846  string GetNodeDeviceTypeString( uint32 const _homeId, uint8 const _nodeId );
847 
854  uint8 GetNodeRole( uint32 const _homeId, uint8 const _nodeId );
855 
862  string GetNodeRoleString( uint32 const _homeId, uint8 const _nodeId );
863 
870  uint8 GetNodePlusType( uint32 const _homeId, uint8 const _nodeId );
877  string GetNodePlusTypeString ( uint32 const _homeId, uint8 const _nodeId );
878 
879 
880 
883  //-----------------------------------------------------------------------------
884  // Values
885  //-----------------------------------------------------------------------------
891  public:
901  string GetValueLabel( ValueID const& _id, int32 _pos = -1 );
902 
912  void SetValueLabel( ValueID const& _id, string const& _value, int32 _pos = -1 );
913 
922  string GetValueUnits( ValueID const& _id );
923 
932  void SetValueUnits( ValueID const& _id, string const& _value );
933 
943  string GetValueHelp( ValueID const& _id, int32 _pos = -1 );
944 
954  void SetValueHelp( ValueID const& _id, string const& _value, int32 _pos = -1 );
955 
964  int32 GetValueMin( ValueID const& _id );
965 
974  int32 GetValueMax( ValueID const& _id );
975 
984  bool IsValueReadOnly( ValueID const& _id );
985 
994  bool IsValueWriteOnly( ValueID const& _id );
995 
1004  bool IsValueSet( ValueID const& _id );
1005 
1014  bool IsValuePolled( ValueID const& _id );
1015 
1027  bool GetValueAsBitSet( ValueID const& _id, uint8 _pos, bool* o_value );
1028 
1039  bool GetValueAsBool( ValueID const& _id, bool* o_value );
1040 
1051  bool GetValueAsByte( ValueID const& _id, uint8* o_value );
1052 
1063  bool GetValueAsFloat( ValueID const& _id, float* o_value );
1064 
1075  bool GetValueAsInt( ValueID const& _id, int32* o_value );
1076 
1087  bool GetValueAsShort( ValueID const& _id, int16* o_value );
1088 
1100  bool GetValueAsString( ValueID const& _id, string* o_value );
1101 
1113  bool GetValueAsRaw( ValueID const& _id, uint8** o_value, uint8* o_length );
1114 
1125  bool GetValueListSelection( ValueID const& _id, string* o_value );
1126 
1137  bool GetValueListSelection( ValueID const& _id, int32* o_value );
1138 
1149  bool GetValueListItems( ValueID const& _id, vector<string>* o_value );
1150 
1161  bool GetValueListValues( ValueID const& _id, vector<int32>* o_value );
1162 
1173  bool GetValueFloatPrecision( ValueID const& _id, uint8* o_value );
1174 
1189  bool SetValue( ValueID const& _id, uint8 _pos, bool const _value );
1190 
1204  bool SetValue( ValueID const& _id, bool const _value );
1205 
1218  bool SetValue( ValueID const& _id, uint8 const _value );
1219 
1233  bool SetValue( ValueID const& _id, float const _value );
1234 
1247  bool SetValue( ValueID const& _id, int32 const _value );
1248 
1261  bool SetValue( ValueID const& _id, int16 const _value );
1262 
1275  bool SetValue( ValueID const& _id, uint8 const* _value, uint8 const _length );
1276 
1289  bool SetValue( ValueID const& _id, string const& _value );
1290 
1304  bool SetValueListSelection( ValueID const& _id, string const& _selectedItem );
1305 
1315  bool RefreshValue( ValueID const& _id);
1316 
1327  void SetChangeVerified( ValueID const& _id, bool _verify );
1328 
1338  bool GetChangeVerified( ValueID const& _id );
1339 
1349  bool PressButton( ValueID const& _id );
1350 
1360  bool ReleaseButton( ValueID const& _id );
1361 
1372  bool SetBitMask( ValueID const& _id, uint32 _mask );
1373 
1384  bool GetBitMask( ValueID const& _id, int32* o_mask );
1385 
1396  bool GetBitSetSize( ValueID const& _id, uint8* o_size );
1397 
1398 
1399 
1402  //-----------------------------------------------------------------------------
1403  // Climate Control Schedules
1404  //-----------------------------------------------------------------------------
1418 
1427  uint8 GetNumSwitchPoints( ValueID const& _id );
1428 
1448  bool SetSwitchPoint( ValueID const& _id, uint8 const _hours, uint8 const _minutes, int8 const _setback );
1449 
1465  bool RemoveSwitchPoint( ValueID const& _id, uint8 const _hours, uint8 const _minutes );
1466 
1475  void ClearSwitchPoints( ValueID const& _id );
1476 
1494  bool GetSwitchPoint( ValueID const& _id, uint8 const _idx, uint8* o_hours, uint8* o_minutes, int8* o_setback );
1495 
1498  //-----------------------------------------------------------------------------
1499  // SwitchAll
1500  //-----------------------------------------------------------------------------
1508 
1514  DEPRECATED void SwitchAllOn( uint32 const _homeId );
1515 
1521  DEPRECATED void SwitchAllOff( uint32 const _homeId );
1522 
1525  //-----------------------------------------------------------------------------
1526  // Configuration Parameters
1527  //-----------------------------------------------------------------------------
1537  public:
1553  bool SetConfigParam( uint32 const _homeId, uint8 const _nodeId, uint8 const _param, int32 _value, uint8 const _size = 2 );
1554 
1570  void RequestConfigParam( uint32 const _homeId, uint8 const _nodeId, uint8 const _param );
1571 
1578  void RequestAllConfigParams( uint32 const _homeId, uint8 const _nodeId );
1581  //-----------------------------------------------------------------------------
1582  // Groups (wrappers for the Node methods)
1583  //-----------------------------------------------------------------------------
1588  public:
1598  uint8 GetNumGroups( uint32 const _homeId, uint8 const _nodeId );
1599 
1611  uint32 GetAssociations( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8** o_associations );
1612 
1624  uint32 GetAssociations( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, InstanceAssociation** o_associations );
1625 
1634  uint8 GetMaxAssociations( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx );
1635 
1644  string GetGroupLabel( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx );
1645 
1658  void AddAssociation( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00 );
1659 
1672  void RemoveAssociation( uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00 );
1673 
1676  //-----------------------------------------------------------------------------
1677  // Notifications
1678  //-----------------------------------------------------------------------------
1683  public:
1694  bool AddWatcher( pfnOnNotification_t _watcher, void* _context );
1695 
1703  bool RemoveWatcher( pfnOnNotification_t _watcher, void* _context );
1706  private:
1707  void NotifyWatchers( Notification* _notification ); // Passes the notifications to all the registered watcher callbacks in turn.
1708 
1709  struct Watcher
1710  {
1711  pfnOnNotification_t m_callback;
1712  void* m_context;
1713 
1714  Watcher
1715  (
1716  pfnOnNotification_t _callback,
1717  void* _context
1718  ):
1719  m_callback( _callback ),
1720  m_context( _context )
1721  {
1722  }
1723  };
1724 
1726  list<Watcher*> m_watchers; // List of all the registered watchers.
1728  Mutex* m_notificationMutex;
1729 
1730  //-----------------------------------------------------------------------------
1731  // Controller commands
1732  //-----------------------------------------------------------------------------
1737  public:
1744  void ResetController( uint32 const _homeId );
1745 
1752  void SoftReset( uint32 const _homeId );
1753 
1810  DEPRECATED bool BeginControllerCommand( uint32 const _homeId, Driver::ControllerCommand _command, Driver::pfnControllerCallback_t _callback = NULL, void* _context = NULL, bool _highPower = false, uint8 _nodeId = 0xff, uint8 _arg = 0 );
1811 
1818  bool CancelControllerCommand( uint32 const _homeId );
1821  //-----------------------------------------------------------------------------
1822  // Network commands
1823  //-----------------------------------------------------------------------------
1829  public:
1837  void TestNetworkNode( uint32 const _homeId, uint8 const _nodeId, uint32 const _count );
1838 
1846  void TestNetwork( uint32 const _homeId, uint32 const _count );
1847 
1855  void HealNetworkNode( uint32 const _homeId, uint8 const _nodeId, bool _doRR );
1856 
1864  void HealNetwork( uint32 const _homeId, bool _doRR );
1865 
1879  bool AddNode( uint32 const _homeId, bool _doSecurity = true );
1880 
1893  bool RemoveNode(uint32 const _homeId);
1894 
1911  bool RemoveFailedNode(uint32 const _homeId, uint8 const _nodeId);
1912 
1927  bool HasNodeFailed(uint32 const _homeId, uint8 const _nodeId);
1928 
1941  bool RequestNodeNeighborUpdate(uint32 const _homeId, uint8 const _nodeId);
1942 
1955  bool AssignReturnRoute(uint32 const _homeId, uint8 const _nodeId);
1956 
1969  bool DeleteAllReturnRoutes(uint32 const _homeId, uint8 const _nodeId);
1970 
1980  bool SendNodeInformation(uint32 const _homeId, uint8 const _nodeId);
1981 
1993  bool CreateNewPrimary(uint32 const _homeId);
1994 
2006  bool ReceiveConfiguration (uint32 const _homeId);
2007 
2022  bool ReplaceFailedNode(uint32 const _homeId, uint8 const _nodeId);
2023 
2035  bool TransferPrimaryRole(uint32 const _homeId);
2036 
2048  bool RequestNetworkUpdate(uint32 const _homeId, uint8 const _nodeId);
2049 
2061  bool ReplicationSend(uint32 const _homeId, uint8 const _nodeId);
2062 
2077  bool CreateButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2078 
2093  bool DeleteButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2094 
2097  //-----------------------------------------------------------------------------
2098  // Scene commands
2099  //-----------------------------------------------------------------------------
2106  public:
2113  DEPRECATED uint8 GetNumScenes( );
2114 
2122  DEPRECATED uint8 GetAllScenes( uint8** _sceneIds );
2123 
2130  DEPRECATED void RemoveAllScenes( uint32 const _homeId );
2131 
2139  DEPRECATED uint8 CreateScene();
2140 
2148  DEPRECATED bool RemoveScene( uint8 const _sceneId );
2149 
2159  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, bool const _value );
2160 
2170  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, uint8 const _value );
2171 
2181  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, float const _value );
2182 
2192  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
2193 
2203  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, int16 const _value );
2204 
2214  DEPRECATED bool AddSceneValue( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
2215 
2225  DEPRECATED bool AddSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
2226 
2236  DEPRECATED bool AddSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
2237 
2246  DEPRECATED bool RemoveSceneValue( uint8 const _sceneId, ValueID const& _valueId );
2247 
2256  DEPRECATED int SceneGetValues( uint8 const _sceneId, vector<ValueID>* o_value );
2257 
2267  DEPRECATED bool SceneGetValueAsBool( uint8 const _sceneId, ValueID const& _valueId, bool* o_value );
2268 
2278  DEPRECATED bool SceneGetValueAsByte( uint8 const _sceneId, ValueID const& _valueId, uint8* o_value );
2279 
2289  DEPRECATED bool SceneGetValueAsFloat( uint8 const _sceneId, ValueID const& _valueId, float* o_value );
2290 
2300  DEPRECATED bool SceneGetValueAsInt( uint8 const _sceneId, ValueID const& _valueId, int32* o_value );
2301 
2311  DEPRECATED bool SceneGetValueAsShort( uint8 const _sceneId, ValueID const& _valueId, int16* o_value );
2312 
2322  DEPRECATED bool SceneGetValueAsString( uint8 const _sceneId, ValueID const& _valueId, string* o_value );
2323 
2333  DEPRECATED bool SceneGetValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string* o_value );
2334 
2344  DEPRECATED bool SceneGetValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32* o_value );
2345 
2355  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, bool const _value );
2356 
2366  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, uint8 const _value );
2367 
2377  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, float const _value );
2378 
2388  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
2389 
2399  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, int16 const _value );
2400 
2410  DEPRECATED bool SetSceneValue( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
2411 
2421  DEPRECATED bool SetSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, string const& _value );
2422 
2432  DEPRECATED bool SetSceneValueListSelection( uint8 const _sceneId, ValueID const& _valueId, int32 const _value );
2433 
2441  DEPRECATED string GetSceneLabel( uint8 const _sceneId );
2442 
2450  DEPRECATED void SetSceneLabel( uint8 const _sceneId, string const& _value );
2451 
2459  DEPRECATED bool SceneExists( uint8 const _sceneId );
2460 
2468  DEPRECATED bool ActivateScene( uint8 const _sceneId );
2469 
2472  //-----------------------------------------------------------------------------
2473  // Statistics interface
2474  //-----------------------------------------------------------------------------
2479  public:
2485  void GetDriverStatistics( uint32 const _homeId, Driver::DriverData* _data );
2486 
2493  void GetNodeStatistics( uint32 const _homeId, uint8 const _nodeId, Node::NodeData* _data );
2494 
2497  //-----------------------------------------------------------------------------
2498  // MetaData interface
2499  //-----------------------------------------------------------------------------
2504  public:
2512  string GetMetaData( uint32 const _homeId, uint8 const _nodeId, Node::MetaDataFields _metadata );
2513 
2515  //-----------------------------------------------------------------------------
2516  // Config File Revision interface
2517  //-----------------------------------------------------------------------------
2522  public:
2535  bool checkLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2536 
2547  bool checkLatestMFSRevision(uint32 const _homeId);
2548 
2565  bool downloadLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2566 
2578  bool downloadLatestMFSRevision(uint32 const _homeId);
2579 
2585  };
2587 } // namespace OpenZWave
2588 
2589 #endif // _Manager_H
Message object to be passed to and from devices on the Z-Wave network.
Definition: Msg.h:44
Definition: Bitfield.h:34
Container that holds all of the values associated with a given node.
Definition: ValueStore.h:44
#define OPENZWAVE_EXPORT
Definition: Defs.h:52
unsigned short uint16
Definition: Defs.h:93
#define OPENZWAVE_EXPORT_WARNINGS_ON
Definition: Defs.h:54
The main public interface to OpenZWave.
Definition: Manager.h:110
MetaDataFields
Definition: Node.h:697
#define DEPRECATED
Definition: Defs.h:63
#define OPENZWAVE_EXPORT_WARNINGS_OFF
Definition: Defs.h:53
Definition: Group.h:42
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:65
#define NULL
Definition: Defs.h:86
ControllerCommand
Definition: Driver.h:469
Base class for all Z-Wave command classes.
Definition: CommandClass.h:54
Button value.
Definition: ValueButton.h:46
signed short int16
Definition: Defs.h:92
ControllerInterface
Definition: Driver.h:91
signed char int8
Definition: Defs.h:89
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:63
Manages library options read from XML files or the command line.
Definition: Options.h:66
signed int int32
Definition: Defs.h:95
unsigned int uint32
Definition: Defs.h:96
Manages a group of devices (various nodes associated with each other).
Definition: Group.h:49
Provides a container for data sent via the notification callback handler installed by a call to Manag...
Definition: Notification.h:44
Provides a unique ID for a value reported by a Z-Wave device.The ValueID is used to uniquely identify...
Definition: ValueID.h:62
Options * GetOptions() const
Gets a pointer to the locked Options object.
Definition: Manager.h:211
static Manager * Get()
Gets a pointer to the Manager object.
Definition: Manager.h:151
Base class for values associated with a node.
Definition: Value.h:48
void(* pfnControllerCallback_t)(ControllerState _state, ControllerError _err, void *_context)
Definition: Driver.h:531
Definition: Defs.h:111
unsigned char uint8
Definition: Defs.h:90