OpenZWave Library  1.6.885
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  namespace Internal
46  {
47  namespace CC
48  {
49  class CommandClass;
50  }
51  namespace VC
52  {
53  class Value;
54  class ValueStore;
55  }
56  class Msg;
57  }
58  class Options;
59  class Node;
60  class Notification;
61 
109  {
110  friend class Driver;
112  friend class Group;
113  friend class Node;
114  friend class Internal::VC::Value;
116  friend class Internal::Msg;
117 
118  public:
119  typedef void (*pfnOnNotification_t)(Notification const* _pNotification, void* _context);
120 
121  //-----------------------------------------------------------------------------
122  // Construction
123  //-----------------------------------------------------------------------------
128  public:
141  static Manager* Create();
142 
148  static Manager* Get()
149  {
150  return s_instance;
151  }
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:
205  DEPRECATED void WriteConfig(uint32 const _homeId);
206 
213  {
214  return m_options;
215  }
218  private:
219  Options* m_options; // Pointer to the locked Options object that was passed in during creation.
220 
221  //-----------------------------------------------------------------------------
222  // Drivers
223  //-----------------------------------------------------------------------------
228  public:
241  bool AddDriver(string const& _controllerPath, Driver::ControllerInterface const& _interface = Driver::ControllerInterface_Serial);
242 
253  bool RemoveDriver(string const& _controllerPath);
254 
260  uint8 GetControllerNodeId(uint32 const _homeId);
261 
267  uint8 GetSUCNodeId(uint32 const _homeId);
268 
283  bool IsPrimaryController(uint32 const _homeId);
284 
292  bool IsStaticUpdateController(uint32 const _homeId);
293 
301  bool IsBridgeController(uint32 const _homeId);
302 
310  bool HasExtendedTxStatus(uint32 const _homeId);
311 
317  string GetLibraryVersion(uint32 const _homeId);
318 
338  string GetLibraryTypeName(uint32 const _homeId);
339 
345  int32 GetSendQueueCount(uint32 const _homeId);
346 
351  void LogDriverStatistics(uint32 const _homeId);
352 
357  Driver::ControllerInterface GetControllerInterfaceType(uint32 const _homeId);
358 
363  string GetControllerPath(uint32 const _homeId);
366  private:
367  Driver* GetDriver(uint32 const _homeId);
368  void SetDriverReady(Driver* _driver, bool success);
371  list<Driver*> m_pendingDrivers;
372  map<uint32, Driver*> m_readyDrivers;
374 
375  //-----------------------------------------------------------------------------
376  // Polling Z-Wave devices
377  //-----------------------------------------------------------------------------
384  public:
388  int32 GetPollInterval();
389 
401  void SetPollInterval(int32 _milliseconds, bool _bIntervalBetweenPolls);
402 
409  bool EnablePoll(ValueID const &_valueId, uint8 const _intensity = 1);
410 
416  bool DisablePoll(ValueID const &_valueId);
417 
423  bool isPolled(ValueID const &_valueId);
424 
429  void SetPollIntensity(ValueID const &_valueId, uint8 const _intensity);
430 
438  uint8 GetPollIntensity(ValueID const &_valueId);
439 
442  //-----------------------------------------------------------------------------
443  // Node information
444  //-----------------------------------------------------------------------------
449  public:
460  bool RefreshNodeInfo(uint32 const _homeId, uint8 const _nodeId);
461 
470  bool RequestNodeState(uint32 const _homeId, uint8 const _nodeId);
471 
480  bool RequestNodeDynamic(uint32 const _homeId, uint8 const _nodeId);
481 
488  bool IsNodeListeningDevice(uint32 const _homeId, uint8 const _nodeId);
489 
497  bool IsNodeFrequentListeningDevice(uint32 const _homeId, uint8 const _nodeId);
498 
505  bool IsNodeBeamingDevice(uint32 const _homeId, uint8 const _nodeId);
506 
513  bool IsNodeRoutingDevice(uint32 const _homeId, uint8 const _nodeId);
514 
521  bool IsNodeSecurityDevice(uint32 const _homeId, uint8 const _nodeId);
522 
529  uint32 GetNodeMaxBaudRate(uint32 const _homeId, uint8 const _nodeId);
530 
537  uint8 GetNodeVersion(uint32 const _homeId, uint8 const _nodeId);
538 
545  uint8 GetNodeSecurity(uint32 const _homeId, uint8 const _nodeId);
546 
554  bool IsNodeZWavePlus(uint32 const _homeId, uint8 const _nodeId);
555 
562  uint8 GetNodeBasic(uint32 const _homeId, uint8 const _nodeId);
563 
570  uint8 GetNodeGeneric(uint32 const _homeId, uint8 const _nodeId);
571 
578  uint8 GetNodeSpecific(uint32 const _homeId, uint8 const _nodeId);
579 
587  string GetNodeType(uint32 const _homeId, uint8 const _nodeId);
588 
597  uint32 GetNodeNeighbors(uint32 const _homeId, uint8 const _nodeId, uint8** _nodeNeighbors);
598 
610  void SyncronizeNodeNeighbors(uint32 const _homeId, uint8 const _nodeId);
611 
625  string GetNodeManufacturerName(uint32 const _homeId, uint8 const _nodeId);
626 
640  string GetNodeProductName(uint32 const _homeId, uint8 const _nodeId);
641 
654  string GetNodeName(uint32 const _homeId, uint8 const _nodeId);
655 
667  string GetNodeLocation(uint32 const _homeId, uint8 const _nodeId);
668 
683  string GetNodeManufacturerId(uint32 const _homeId, uint8 const _nodeId);
684 
699  string GetNodeProductType(uint32 const _homeId, uint8 const _nodeId);
700 
715  string GetNodeProductId(uint32 const _homeId, uint8 const _nodeId);
716 
730  void SetNodeManufacturerName(uint32 const _homeId, uint8 const _nodeId, string const& _manufacturerName);
731 
745  void SetNodeProductName(uint32 const _homeId, uint8 const _nodeId, string const& _productName);
746 
760  void SetNodeName(uint32 const _homeId, uint8 const _nodeId, string const& _nodeName);
761 
774  void SetNodeLocation(uint32 const _homeId, uint8 const _nodeId, string const& _location);
775 
788  DEPRECATED void SetNodeOn(uint32 const _homeId, uint8 const _nodeId);
789 
800  DEPRECATED void SetNodeOff(uint32 const _homeId, uint8 const _nodeId);
801 
814  DEPRECATED void SetNodeLevel(uint32 const _homeId, uint8 const _nodeId, uint8 const _level);
815 
822  bool IsNodeInfoReceived(uint32 const _homeId, uint8 const _nodeId);
823 
831  bool GetNodeClassInformation(uint32 const _homeId, uint8 const _nodeId, uint8 const _commandClassId, string *_className = NULL, uint8 *_classVersion = NULL);
838  bool IsNodeAwake(uint32 const _homeId, uint8 const _nodeId);
839 
846  bool IsNodeFailed(uint32 const _homeId, uint8 const _nodeId);
847 
854  string GetNodeQueryStage(uint32 const _homeId, uint8 const _nodeId);
855 
862  uint16 GetNodeDeviceType(uint32 const _homeId, uint8 const _nodeId);
863 
870  string GetNodeDeviceTypeString(uint32 const _homeId, uint8 const _nodeId);
871 
878  uint8 GetNodeRole(uint32 const _homeId, uint8 const _nodeId);
879 
886  string GetNodeRoleString(uint32 const _homeId, uint8 const _nodeId);
887 
894  uint8 GetNodePlusType(uint32 const _homeId, uint8 const _nodeId);
901  string GetNodePlusTypeString(uint32 const _homeId, uint8 const _nodeId);
902 
905  //-----------------------------------------------------------------------------
906  // Instances
907  //-----------------------------------------------------------------------------
912  public:
922  string GetInstanceLabel(ValueID const &_id);
923 
936  string GetInstanceLabel(uint32 const _homeId, uint8 const _node, uint8 const _cc, uint8 const _instance);
937 
939  //-----------------------------------------------------------------------------
940  // Values
941  //-----------------------------------------------------------------------------
947  public:
957  string GetValueLabel(ValueID const& _id, int32 _pos = -1);
958 
968  void SetValueLabel(ValueID const& _id, string const& _value, int32 _pos = -1);
969 
978  string GetValueUnits(ValueID const& _id);
979 
988  void SetValueUnits(ValueID const& _id, string const& _value);
989 
999  string GetValueHelp(ValueID const& _id, int32 _pos = -1);
1000 
1010  void SetValueHelp(ValueID const& _id, string const& _value, int32 _pos = -1);
1011 
1020  int32 GetValueMin(ValueID const& _id);
1021 
1030  int32 GetValueMax(ValueID const& _id);
1031 
1040  bool IsValueReadOnly(ValueID const& _id);
1041 
1050  bool IsValueWriteOnly(ValueID const& _id);
1051 
1060  bool IsValueSet(ValueID const& _id);
1061 
1070  bool IsValuePolled(ValueID const& _id);
1071 
1083  bool GetValueAsBitSet(ValueID const& _id, uint8 _pos, bool* o_value);
1084 
1095  bool GetValueAsBool(ValueID const& _id, bool* o_value);
1096 
1107  bool GetValueAsByte(ValueID const& _id, uint8* o_value);
1108 
1119  bool GetValueAsFloat(ValueID const& _id, float* o_value);
1120 
1131  bool GetValueAsInt(ValueID const& _id, int32* o_value);
1132 
1143  bool GetValueAsShort(ValueID const& _id, int16* o_value);
1144 
1156  bool GetValueAsString(ValueID const& _id, string* o_value);
1157 
1169  bool GetValueAsRaw(ValueID const& _id, uint8** o_value, uint8* o_length);
1170 
1181  bool GetValueListSelection(ValueID const& _id, string* o_value);
1182 
1193  bool GetValueListSelection(ValueID const& _id, int32* o_value);
1194 
1205  bool GetValueListItems(ValueID const& _id, vector<string>* o_value);
1206 
1217  bool GetValueListValues(ValueID const& _id, vector<int32>* o_value);
1218 
1229  bool GetValueFloatPrecision(ValueID const& _id, uint8* o_value);
1230 
1245  bool SetValue(ValueID const& _id, uint8 _pos, bool const _value);
1246 
1260  bool SetValue(ValueID const& _id, bool const _value);
1261 
1274  bool SetValue(ValueID const& _id, uint8 const _value);
1275 
1289  bool SetValue(ValueID const& _id, float const _value);
1290 
1303  bool SetValue(ValueID const& _id, int32 const _value);
1304 
1317  bool SetValue(ValueID const& _id, int16 const _value);
1318 
1331  bool SetValue(ValueID const& _id, uint8 const* _value, uint8 const _length);
1332 
1345  bool SetValue(ValueID const& _id, string const& _value);
1346 
1360  bool SetValueListSelection(ValueID const& _id, string const& _selectedItem);
1361 
1371  bool RefreshValue(ValueID const& _id);
1372 
1383  void SetChangeVerified(ValueID const& _id, bool _verify);
1384 
1394  bool GetChangeVerified(ValueID const& _id);
1395 
1405  bool PressButton(ValueID const& _id);
1406 
1416  bool ReleaseButton(ValueID const& _id);
1417 
1428  bool SetBitMask(ValueID const& _id, uint32 _mask);
1429 
1440  bool GetBitMask(ValueID const& _id, int32* o_mask);
1441 
1452  bool GetBitSetSize(ValueID const& _id, uint8* o_size);
1453 
1456  //-----------------------------------------------------------------------------
1457  // Climate Control Schedules
1458  //-----------------------------------------------------------------------------
1472 
1481  uint8 GetNumSwitchPoints(ValueID const& _id);
1482 
1502  bool SetSwitchPoint(ValueID const& _id, uint8 const _hours, uint8 const _minutes, int8 const _setback);
1503 
1519  bool RemoveSwitchPoint(ValueID const& _id, uint8 const _hours, uint8 const _minutes);
1520 
1529  void ClearSwitchPoints(ValueID const& _id);
1530 
1548  bool GetSwitchPoint(ValueID const& _id, uint8 const _idx, uint8* o_hours, uint8* o_minutes, int8* o_setback);
1549 
1552  //-----------------------------------------------------------------------------
1553  // SwitchAll
1554  //-----------------------------------------------------------------------------
1562 
1568  DEPRECATED void SwitchAllOn(uint32 const _homeId);
1569 
1575  DEPRECATED void SwitchAllOff(uint32 const _homeId);
1576 
1579  //-----------------------------------------------------------------------------
1580  // Configuration Parameters
1581  //-----------------------------------------------------------------------------
1591  public:
1607  bool SetConfigParam(uint32 const _homeId, uint8 const _nodeId, uint8 const _param, int32 _value, uint8 const _size = 2);
1608 
1624  void RequestConfigParam(uint32 const _homeId, uint8 const _nodeId, uint8 const _param);
1625 
1632  void RequestAllConfigParams(uint32 const _homeId, uint8 const _nodeId);
1635  //-----------------------------------------------------------------------------
1636  // Groups (wrappers for the Node methods)
1637  //-----------------------------------------------------------------------------
1642  public:
1652  uint8 GetNumGroups(uint32 const _homeId, uint8 const _nodeId);
1653 
1665  uint32 GetAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8** o_associations);
1666 
1678  uint32 GetAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, InstanceAssociation** o_associations);
1679 
1688  uint8 GetMaxAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1689 
1698  bool IsMultiInstance(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1699 
1708  string GetGroupLabel(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1709 
1722  void AddAssociation(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00);
1723 
1736  void RemoveAssociation(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00);
1737 
1740  //-----------------------------------------------------------------------------
1741  // Notifications
1742  //-----------------------------------------------------------------------------
1747  public:
1758  bool AddWatcher(pfnOnNotification_t _watcher, void* _context);
1759 
1767  bool RemoveWatcher(pfnOnNotification_t _watcher, void* _context);
1770  private:
1771  void NotifyWatchers(Notification* _notification); // Passes the notifications to all the registered watcher callbacks in turn.
1772 
1773  struct Watcher
1774  {
1775  pfnOnNotification_t m_callback;
1776  void* m_context;
1777 
1778  Watcher(pfnOnNotification_t _callback, void* _context) :
1779  m_callback(_callback), m_context(_context)
1780  {
1781  }
1782  };
1783 
1785  list<Watcher*> m_watchers; // List of all the registered watchers.
1786  list<list<Watcher*>::iterator*> m_watcherIterators; // Iterators currently operating on the list of watchers
1788  Internal::Platform::Mutex* m_notificationMutex;
1789 
1790  //-----------------------------------------------------------------------------
1791  // Controller commands
1792  //-----------------------------------------------------------------------------
1797  public:
1804  void ResetController(uint32 const _homeId);
1805 
1812  void SoftReset(uint32 const _homeId);
1813 
1870  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);
1871 
1878  bool CancelControllerCommand(uint32 const _homeId);
1881  //-----------------------------------------------------------------------------
1882  // Network commands
1883  //-----------------------------------------------------------------------------
1889  public:
1897  void TestNetworkNode(uint32 const _homeId, uint8 const _nodeId, uint32 const _count);
1898 
1906  void TestNetwork(uint32 const _homeId, uint32 const _count);
1907 
1915  void HealNetworkNode(uint32 const _homeId, uint8 const _nodeId, bool _doRR);
1916 
1924  void HealNetwork(uint32 const _homeId, bool _doRR);
1925 
1939  bool AddNode(uint32 const _homeId, bool _doSecurity = true);
1940 
1953  bool RemoveNode(uint32 const _homeId);
1954 
1971  bool RemoveFailedNode(uint32 const _homeId, uint8 const _nodeId);
1972 
1987  bool HasNodeFailed(uint32 const _homeId, uint8 const _nodeId);
1988 
2001  bool RequestNodeNeighborUpdate(uint32 const _homeId, uint8 const _nodeId);
2002 
2015  bool AssignReturnRoute(uint32 const _homeId, uint8 const _nodeId);
2016 
2029  bool DeleteAllReturnRoutes(uint32 const _homeId, uint8 const _nodeId);
2030 
2040  bool SendNodeInformation(uint32 const _homeId, uint8 const _nodeId);
2041 
2053  bool CreateNewPrimary(uint32 const _homeId);
2054 
2066  bool ReceiveConfiguration(uint32 const _homeId);
2067 
2082  bool ReplaceFailedNode(uint32 const _homeId, uint8 const _nodeId);
2083 
2095  bool TransferPrimaryRole(uint32 const _homeId);
2096 
2108  bool RequestNetworkUpdate(uint32 const _homeId, uint8 const _nodeId);
2109 
2121  bool ReplicationSend(uint32 const _homeId, uint8 const _nodeId);
2122 
2137  bool CreateButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2138 
2153  bool DeleteButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2154 
2169  void SendRawData(uint32 const _homeId, uint8 const _nodeId, string const& _logText, uint8 const _msgType, const bool _sendSecure, uint8 const* _content, uint8 const _length);
2170 
2173  //-----------------------------------------------------------------------------
2174  // Scene commands
2175  //-----------------------------------------------------------------------------
2182  public:
2189  DEPRECATED uint8 GetNumScenes();
2190 
2198  DEPRECATED uint8 GetAllScenes(uint8** _sceneIds);
2199 
2206  DEPRECATED void RemoveAllScenes(uint32 const _homeId);
2207 
2215  DEPRECATED uint8 CreateScene();
2216 
2224  DEPRECATED bool RemoveScene(uint8 const _sceneId);
2225 
2235  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, bool const _value);
2236 
2246  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, uint8 const _value);
2247 
2257  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, float const _value);
2258 
2268  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2269 
2279  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, int16 const _value);
2280 
2290  DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2291 
2301  DEPRECATED bool AddSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2302 
2312  DEPRECATED bool AddSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2313 
2322  DEPRECATED bool RemoveSceneValue(uint8 const _sceneId, ValueID const& _valueId);
2323 
2332  DEPRECATED int SceneGetValues(uint8 const _sceneId, vector<ValueID>* o_value);
2333 
2343  DEPRECATED bool SceneGetValueAsBool(uint8 const _sceneId, ValueID const& _valueId, bool* o_value);
2344 
2354  DEPRECATED bool SceneGetValueAsByte(uint8 const _sceneId, ValueID const& _valueId, uint8* o_value);
2355 
2365  DEPRECATED bool SceneGetValueAsFloat(uint8 const _sceneId, ValueID const& _valueId, float* o_value);
2366 
2376  DEPRECATED bool SceneGetValueAsInt(uint8 const _sceneId, ValueID const& _valueId, int32* o_value);
2377 
2387  DEPRECATED bool SceneGetValueAsShort(uint8 const _sceneId, ValueID const& _valueId, int16* o_value);
2388 
2398  DEPRECATED bool SceneGetValueAsString(uint8 const _sceneId, ValueID const& _valueId, string* o_value);
2399 
2409  DEPRECATED bool SceneGetValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string* o_value);
2410 
2420  DEPRECATED bool SceneGetValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32* o_value);
2421 
2431  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, bool const _value);
2432 
2442  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, uint8 const _value);
2443 
2453  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, float const _value);
2454 
2464  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2465 
2475  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, int16 const _value);
2476 
2486  DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2487 
2497  DEPRECATED bool SetSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2498 
2508  DEPRECATED bool SetSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2509 
2517  DEPRECATED string GetSceneLabel(uint8 const _sceneId);
2518 
2526  DEPRECATED void SetSceneLabel(uint8 const _sceneId, string const& _value);
2527 
2535  DEPRECATED bool SceneExists(uint8 const _sceneId);
2536 
2544  DEPRECATED bool ActivateScene(uint8 const _sceneId);
2545 
2548  //-----------------------------------------------------------------------------
2549  // Statistics interface
2550  //-----------------------------------------------------------------------------
2555  public:
2561  void GetDriverStatistics(uint32 const _homeId, Driver::DriverData* _data);
2562 
2569  void GetNodeStatistics(uint32 const _homeId, uint8 const _nodeId, Node::NodeData* _data);
2570 
2576  static string GetNodeRouteScheme(Node::NodeData *_data);
2577 
2583  static string GetNodeRouteSpeed(Node::NodeData *_data);
2584 
2587  //-----------------------------------------------------------------------------
2588  // MetaData interface
2589  //-----------------------------------------------------------------------------
2594  public:
2602  string const GetMetaData(uint32 const _homeId, uint8 const _nodeId, Node::MetaDataFields _metadata);
2610  Node::ChangeLogEntry const GetChangeLog(uint32 const _homeId, uint8 const _nodeId, uint32_t revision);
2611 
2613  //-----------------------------------------------------------------------------
2614  // Config File Revision interface
2615  //-----------------------------------------------------------------------------
2620  public:
2633  bool checkLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2634 
2645  bool checkLatestMFSRevision(uint32 const _homeId);
2646 
2663  bool downloadLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2664 
2676  bool downloadLatestMFSRevision(uint32 const _homeId);
2677 
2680  };
2682 } // namespace OpenZWave
2683 
2684 #endif // _Manager_H
Definition: Bitfield.cpp:30
#define OPENZWAVE_EXPORT
Definition: Defs.h:51
unsigned short uint16
Definition: Defs.h:89
#define OPENZWAVE_EXPORT_WARNINGS_ON
Definition: Defs.h:53
The main public interface to OpenZWave.
Definition: Manager.h:108
MetaDataFields
Definition: Node.h:879
#define DEPRECATED
Definition: Defs.h:62
#define OPENZWAVE_EXPORT_WARNINGS_OFF
Definition: Defs.h:52
Container that holds all of the values associated with a given node.
Definition: ValueStore.h:49
Definition: Group.h:51
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:81
#define NULL
Definition: Defs.h:82
Base class for all Z-Wave command classes.
Definition: CommandClass.h:60
ControllerCommand
Definition: Driver.h:552
signed short int16
Definition: Defs.h:88
ControllerInterface
Definition: Driver.h:111
signed char int8
Definition: Defs.h:85
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:84
Manages library options read from XML files or the command line.
Definition: Options.h:66
signed int int32
Definition: Defs.h:91
unsigned int uint32
Definition: Defs.h:92
Manages a group of devices (various nodes associated with each other).
Definition: Group.h:59
Provides a container for data sent via the notification callback handler installed by a call to Manag...
Definition: Notification.h:62
Provides a unique ID for a value reported by a Z-Wave device.The ValueID is used to uniquely identify...
Definition: ValueID.h:76
Options * GetOptions() const
Gets a pointer to the locked Options object.
Definition: Manager.h:212
static Manager * Get()
Gets a pointer to the Manager object.
Definition: Manager.h:148
void(* pfnControllerCallback_t)(ControllerState _state, ControllerError _err, void *_context)
Definition: Driver.h:614
Definition: Defs.h:107
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
unsigned char uint8
Definition: Defs.h:86