OpenZWave Library 1.6.1914
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"
42
43namespace 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;
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);
369 list<Driver*> m_pendingDrivers;
370 map<uint32, Driver*> m_readyDrivers;
372 //-----------------------------------------------------------------------------
373 // Polling Z-Wave devices
374 //-----------------------------------------------------------------------------
381 public:
385 int32 GetPollInterval();
386
398 void SetPollInterval(int32 _milliseconds, bool _bIntervalBetweenPolls);
399
406 bool EnablePoll(ValueID const &_valueId, uint8 const _intensity = 1);
407
413 bool DisablePoll(ValueID const &_valueId);
414
420 bool isPolled(ValueID const &_valueId);
421
426 void SetPollIntensity(ValueID const &_valueId, uint8 const _intensity);
427
435 uint8 GetPollIntensity(ValueID const &_valueId);
436
439 //-----------------------------------------------------------------------------
440 // Node information
441 //-----------------------------------------------------------------------------
446 public:
457 bool RefreshNodeInfo(uint32 const _homeId, uint8 const _nodeId);
458
467 bool RequestNodeState(uint32 const _homeId, uint8 const _nodeId);
468
477 bool RequestNodeDynamic(uint32 const _homeId, uint8 const _nodeId);
478
485 bool IsNodeListeningDevice(uint32 const _homeId, uint8 const _nodeId);
486
494 bool IsNodeFrequentListeningDevice(uint32 const _homeId, uint8 const _nodeId);
495
502 bool IsNodeBeamingDevice(uint32 const _homeId, uint8 const _nodeId);
503
510 bool IsNodeRoutingDevice(uint32 const _homeId, uint8 const _nodeId);
511
518 bool IsNodeSecurityDevice(uint32 const _homeId, uint8 const _nodeId);
519
526 uint32 GetNodeMaxBaudRate(uint32 const _homeId, uint8 const _nodeId);
527
534 uint8 GetNodeVersion(uint32 const _homeId, uint8 const _nodeId);
535
542 uint8 GetNodeSecurity(uint32 const _homeId, uint8 const _nodeId);
543
551 bool IsNodeZWavePlus(uint32 const _homeId, uint8 const _nodeId);
552
559 uint8 GetNodeBasic(uint32 const _homeId, uint8 const _nodeId);
560
567 string GetNodeBasicString(uint32 const _homeId, uint8 const _nodeId);
568
569
577 uint8 GetNodeGeneric(uint32 const _homeId, uint8 const _nodeId, uint8 const _instance = 0);
578
586 string GetNodeGenericString(uint32 const _homeId, uint8 const _nodeId, uint8 const _instance = 0);
587
595 uint8 GetNodeSpecific(uint32 const _homeId, uint8 const _nodeId, uint8 const _instance = 0);
596
604 string GetNodeSpecificString(uint32 const _homeId, uint8 const _nodeId, uint8 const _instance = 0);
605
606
614 string GetNodeType(uint32 const _homeId, uint8 const _nodeId);
615
624 uint32 GetNodeNeighbors(uint32 const _homeId, uint8 const _nodeId, uint8** _nodeNeighbors);
625
637 void SyncronizeNodeNeighbors(uint32 const _homeId, uint8 const _nodeId);
638
652 string GetNodeManufacturerName(uint32 const _homeId, uint8 const _nodeId);
653
667 string GetNodeProductName(uint32 const _homeId, uint8 const _nodeId);
668
681 string GetNodeName(uint32 const _homeId, uint8 const _nodeId);
682
694 string GetNodeLocation(uint32 const _homeId, uint8 const _nodeId);
695
710 string GetNodeManufacturerId(uint32 const _homeId, uint8 const _nodeId);
711
726 string GetNodeProductType(uint32 const _homeId, uint8 const _nodeId);
727
742 string GetNodeProductId(uint32 const _homeId, uint8 const _nodeId);
743
757 void SetNodeManufacturerName(uint32 const _homeId, uint8 const _nodeId, string const& _manufacturerName);
758
772 void SetNodeProductName(uint32 const _homeId, uint8 const _nodeId, string const& _productName);
773
787 void SetNodeName(uint32 const _homeId, uint8 const _nodeId, string const& _nodeName);
788
801 void SetNodeLocation(uint32 const _homeId, uint8 const _nodeId, string const& _location);
802
815 DEPRECATED void SetNodeOn(uint32 const _homeId, uint8 const _nodeId);
816
827 DEPRECATED void SetNodeOff(uint32 const _homeId, uint8 const _nodeId);
828
841 DEPRECATED void SetNodeLevel(uint32 const _homeId, uint8 const _nodeId, uint8 const _level);
842
849 bool IsNodeInfoReceived(uint32 const _homeId, uint8 const _nodeId);
850
858 bool GetNodeClassInformation(uint32 const _homeId, uint8 const _nodeId, uint8 const _commandClassId, string *_className = NULL, uint8 *_classVersion = NULL);
859
865 string GetCommandClassName(uint8 const _commandClassId);
866
873 bool IsNodeAwake(uint32 const _homeId, uint8 const _nodeId);
874
881 bool IsNodeFailed(uint32 const _homeId, uint8 const _nodeId);
882
889 string GetNodeQueryStage(uint32 const _homeId, uint8 const _nodeId);
890
897 uint16 GetNodeDeviceType(uint32 const _homeId, uint8 const _nodeId);
898
905 string GetNodeDeviceTypeString(uint32 const _homeId, uint8 const _nodeId);
906
913 uint8 GetNodeRole(uint32 const _homeId, uint8 const _nodeId);
914
921 string GetNodeRoleString(uint32 const _homeId, uint8 const _nodeId);
922
929 uint8 GetNodePlusType(uint32 const _homeId, uint8 const _nodeId);
936 string GetNodePlusTypeString(uint32 const _homeId, uint8 const _nodeId);
937
940 //-----------------------------------------------------------------------------
941 // Instances
942 //-----------------------------------------------------------------------------
947 public:
957 string GetInstanceLabel(ValueID const &_id);
958
971 string GetInstanceLabel(uint32 const _homeId, uint8 const _node, uint8 const _cc, uint8 const _instance);
972
974 //-----------------------------------------------------------------------------
975 // Values
976 //-----------------------------------------------------------------------------
982 public:
992 string GetValueLabel(ValueID const& _id, int32 _pos = -1);
993
1003 void SetValueLabel(ValueID const& _id, string const& _value, int32 _pos = -1);
1004
1013 string GetValueUnits(ValueID const& _id);
1014
1023 void SetValueUnits(ValueID const& _id, string const& _value);
1024
1034 string GetValueHelp(ValueID const& _id, int32 _pos = -1);
1035
1045 void SetValueHelp(ValueID const& _id, string const& _value, int32 _pos = -1);
1046
1055 int32 GetValueMin(ValueID const& _id);
1056
1065 int32 GetValueMax(ValueID const& _id);
1066
1075 bool IsValueReadOnly(ValueID const& _id);
1076
1085 bool IsValueWriteOnly(ValueID const& _id);
1086
1095 bool IsValueSet(ValueID const& _id);
1096
1105 bool IsValuePolled(ValueID const& _id);
1106
1113 bool IsValueValid(ValueID const& _id);
1114
1115
1127 bool GetValueAsBitSet(ValueID const& _id, uint8 _pos, bool* o_value);
1128
1139 bool GetValueAsBool(ValueID const& _id, bool* o_value);
1140
1151 bool GetValueAsByte(ValueID const& _id, uint8* o_value);
1152
1163 bool GetValueAsFloat(ValueID const& _id, float* o_value);
1164
1175 bool GetValueAsInt(ValueID const& _id, int32* o_value);
1176
1187 bool GetValueAsShort(ValueID const& _id, int16* o_value);
1188
1200 bool GetValueAsString(ValueID const& _id, string* o_value);
1201
1213 bool GetValueAsRaw(ValueID const& _id, uint8** o_value, uint8* o_length);
1214
1225 bool GetValueListSelection(ValueID const& _id, string* o_value);
1226
1237 bool GetValueListSelection(ValueID const& _id, int32* o_value);
1238
1249 bool GetValueListItems(ValueID const& _id, vector<string>* o_value);
1250
1261 bool GetValueListValues(ValueID const& _id, vector<int32>* o_value);
1262
1273 bool GetValueFloatPrecision(ValueID const& _id, uint8* o_value);
1274
1289 bool SetValue(ValueID const& _id, uint8 _pos, bool const _value);
1290
1304 bool SetValue(ValueID const& _id, bool const _value);
1305
1318 bool SetValue(ValueID const& _id, uint8 const _value);
1319
1333 bool SetValue(ValueID const& _id, float const _value);
1334
1347 bool SetValue(ValueID const& _id, int32 const _value);
1348
1361 bool SetValue(ValueID const& _id, int16 const _value);
1362
1375 bool SetValue(ValueID const& _id, uint8 const* _value, uint8 const _length);
1376
1389 bool SetValue(ValueID const& _id, string const& _value);
1390
1404 bool SetValueListSelection(ValueID const& _id, string const& _selectedItem);
1405
1415 bool RefreshValue(ValueID const& _id);
1416
1427 void SetChangeVerified(ValueID const& _id, bool _verify);
1428
1438 bool GetChangeVerified(ValueID const& _id);
1439
1449 bool PressButton(ValueID const& _id);
1450
1460 bool ReleaseButton(ValueID const& _id);
1461
1472 bool SetBitMask(ValueID const& _id, uint32 _mask);
1473
1484 bool GetBitMask(ValueID const& _id, int32* o_mask);
1485
1496 bool GetBitSetSize(ValueID const& _id, uint8* o_size);
1497
1500 //-----------------------------------------------------------------------------
1501 // Climate Control Schedules
1502 //-----------------------------------------------------------------------------
1516
1525 uint8 GetNumSwitchPoints(ValueID const& _id);
1526
1546 bool SetSwitchPoint(ValueID const& _id, uint8 const _hours, uint8 const _minutes, int8 const _setback);
1547
1563 bool RemoveSwitchPoint(ValueID const& _id, uint8 const _hours, uint8 const _minutes);
1564
1573 void ClearSwitchPoints(ValueID const& _id);
1574
1592 bool GetSwitchPoint(ValueID const& _id, uint8 const _idx, uint8* o_hours, uint8* o_minutes, int8* o_setback);
1593
1596 //-----------------------------------------------------------------------------
1597 // SwitchAll
1598 //-----------------------------------------------------------------------------
1606
1612 DEPRECATED void SwitchAllOn(uint32 const _homeId);
1613
1619 DEPRECATED void SwitchAllOff(uint32 const _homeId);
1620
1623 //-----------------------------------------------------------------------------
1624 // Configuration Parameters
1625 //-----------------------------------------------------------------------------
1635 public:
1651 bool SetConfigParam(uint32 const _homeId, uint8 const _nodeId, uint8 const _param, int32 _value, uint8 const _size = 2);
1652
1668 void RequestConfigParam(uint32 const _homeId, uint8 const _nodeId, uint8 const _param);
1669
1676 void RequestAllConfigParams(uint32 const _homeId, uint8 const _nodeId);
1679 //-----------------------------------------------------------------------------
1680 // Groups (wrappers for the Node methods)
1681 //-----------------------------------------------------------------------------
1686 public:
1696 uint8 GetNumGroups(uint32 const _homeId, uint8 const _nodeId);
1697
1709 uint32 GetAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8** o_associations);
1710
1725 uint32 GetAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, InstanceAssociation** o_associations);
1726
1735 uint8 GetMaxAssociations(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1736
1745 bool IsMultiInstance(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1746
1755 string GetGroupLabel(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx);
1756
1769 void AddAssociation(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00);
1770
1783 void RemoveAssociation(uint32 const _homeId, uint8 const _nodeId, uint8 const _groupIdx, uint8 const _targetNodeId, uint8 const _instance = 0x00);
1784
1787 //-----------------------------------------------------------------------------
1788 // Notifications
1789 //-----------------------------------------------------------------------------
1794 public:
1805 bool AddWatcher(pfnOnNotification_t _watcher, void* _context);
1806
1814 bool RemoveWatcher(pfnOnNotification_t _watcher, void* _context);
1817 private:
1818 void NotifyWatchers(Notification* _notification); // Passes the notifications to all the registered watcher callbacks in turn.
1819
1820 struct Watcher
1821 {
1822 pfnOnNotification_t m_callback;
1823 void* m_context;
1824
1825 Watcher(pfnOnNotification_t _callback, void* _context) :
1826 m_callback(_callback), m_context(_context)
1827 {
1828 }
1829 };
1830
1831 list<Watcher*> m_watchers; // List of all the registered watchers.
1832 list<list<Watcher*>::iterator*> m_watcherIterators; // Iterators currently operating on the list of watchers
1833 Internal::Platform::Mutex* m_notificationMutex;
1834
1835 //-----------------------------------------------------------------------------
1836 // Controller commands
1837 //-----------------------------------------------------------------------------
1842 public:
1849 void ResetController(uint32 const _homeId);
1850
1857 void SoftReset(uint32 const _homeId);
1858
1915 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);
1916
1923 bool CancelControllerCommand(uint32 const _homeId);
1926 //-----------------------------------------------------------------------------
1927 // Network commands
1928 //-----------------------------------------------------------------------------
1934 public:
1942 void TestNetworkNode(uint32 const _homeId, uint8 const _nodeId, uint32 const _count);
1943
1951 void TestNetwork(uint32 const _homeId, uint32 const _count);
1952
1960 void HealNetworkNode(uint32 const _homeId, uint8 const _nodeId, bool _doRR);
1961
1969 void HealNetwork(uint32 const _homeId, bool _doRR);
1970
1984 bool AddNode(uint32 const _homeId, bool _doSecurity = true);
1985
1998 bool RemoveNode(uint32 const _homeId);
1999
2016 bool RemoveFailedNode(uint32 const _homeId, uint8 const _nodeId);
2017
2032 bool HasNodeFailed(uint32 const _homeId, uint8 const _nodeId);
2033
2046 bool RequestNodeNeighborUpdate(uint32 const _homeId, uint8 const _nodeId);
2047
2060 bool AssignReturnRoute(uint32 const _homeId, uint8 const _nodeId);
2061
2074 bool DeleteAllReturnRoutes(uint32 const _homeId, uint8 const _nodeId);
2075
2085 bool SendNodeInformation(uint32 const _homeId, uint8 const _nodeId);
2086
2098 bool CreateNewPrimary(uint32 const _homeId);
2099
2111 bool ReceiveConfiguration(uint32 const _homeId);
2112
2127 bool ReplaceFailedNode(uint32 const _homeId, uint8 const _nodeId);
2128
2140 bool TransferPrimaryRole(uint32 const _homeId);
2141
2153 bool RequestNetworkUpdate(uint32 const _homeId, uint8 const _nodeId);
2154
2166 bool ReplicationSend(uint32 const _homeId, uint8 const _nodeId);
2167
2182 bool CreateButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2183
2198 bool DeleteButton(uint32 const _homeId, uint8 const _nodeId, uint8 const _buttonid);
2199
2214 void SendRawData(uint32 const _homeId, uint8 const _nodeId, string const& _logText, uint8 const _msgType, const bool _sendSecure, uint8 const* _content, uint8 const _length);
2215
2218 //-----------------------------------------------------------------------------
2219 // Scene commands
2220 //-----------------------------------------------------------------------------
2227 public:
2234 DEPRECATED uint8 GetNumScenes();
2235
2243 DEPRECATED uint8 GetAllScenes(uint8** _sceneIds);
2244
2251 DEPRECATED void RemoveAllScenes(uint32 const _homeId);
2252
2260 DEPRECATED uint8 CreateScene();
2261
2269 DEPRECATED bool RemoveScene(uint8 const _sceneId);
2270
2280 DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, bool const _value);
2281
2291 DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, uint8 const _value);
2292
2302 DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, float const _value);
2303
2313 DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2314
2324 DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, int16 const _value);
2325
2335 DEPRECATED bool AddSceneValue(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2336
2346 DEPRECATED bool AddSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2347
2357 DEPRECATED bool AddSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2358
2367 DEPRECATED bool RemoveSceneValue(uint8 const _sceneId, ValueID const& _valueId);
2368
2377 DEPRECATED int SceneGetValues(uint8 const _sceneId, vector<ValueID>* o_value);
2378
2388 DEPRECATED bool SceneGetValueAsBool(uint8 const _sceneId, ValueID const& _valueId, bool* o_value);
2389
2399 DEPRECATED bool SceneGetValueAsByte(uint8 const _sceneId, ValueID const& _valueId, uint8* o_value);
2400
2410 DEPRECATED bool SceneGetValueAsFloat(uint8 const _sceneId, ValueID const& _valueId, float* o_value);
2411
2421 DEPRECATED bool SceneGetValueAsInt(uint8 const _sceneId, ValueID const& _valueId, int32* o_value);
2422
2432 DEPRECATED bool SceneGetValueAsShort(uint8 const _sceneId, ValueID const& _valueId, int16* o_value);
2433
2443 DEPRECATED bool SceneGetValueAsString(uint8 const _sceneId, ValueID const& _valueId, string* o_value);
2444
2454 DEPRECATED bool SceneGetValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string* o_value);
2455
2465 DEPRECATED bool SceneGetValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32* o_value);
2466
2476 DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, bool const _value);
2477
2487 DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, uint8 const _value);
2488
2498 DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, float const _value);
2499
2509 DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2510
2520 DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, int16 const _value);
2521
2531 DEPRECATED bool SetSceneValue(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2532
2542 DEPRECATED bool SetSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, string const& _value);
2543
2553 DEPRECATED bool SetSceneValueListSelection(uint8 const _sceneId, ValueID const& _valueId, int32 const _value);
2554
2562 DEPRECATED string GetSceneLabel(uint8 const _sceneId);
2563
2571 DEPRECATED void SetSceneLabel(uint8 const _sceneId, string const& _value);
2572
2580 DEPRECATED bool SceneExists(uint8 const _sceneId);
2581
2589 DEPRECATED bool ActivateScene(uint8 const _sceneId);
2590
2593 //-----------------------------------------------------------------------------
2594 // Statistics interface
2595 //-----------------------------------------------------------------------------
2600 public:
2606 void GetDriverStatistics(uint32 const _homeId, Driver::DriverData* _data);
2607
2614 void GetNodeStatistics(uint32 const _homeId, uint8 const _nodeId, Node::NodeData* _data);
2615
2621 static string GetNodeRouteScheme(Node::NodeData *_data);
2622
2628 static string GetNodeRouteSpeed(Node::NodeData *_data);
2629
2632 //-----------------------------------------------------------------------------
2633 // MetaData interface
2634 //-----------------------------------------------------------------------------
2639 public:
2647 string const GetMetaData(uint32 const _homeId, uint8 const _nodeId, Node::MetaDataFields _metadata);
2655 Node::ChangeLogEntry const GetChangeLog(uint32 const _homeId, uint8 const _nodeId, uint32_t revision);
2656
2658 //-----------------------------------------------------------------------------
2659 // Config File Revision interface
2660 //-----------------------------------------------------------------------------
2665 public:
2678 bool checkLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2679
2690 bool checkLatestMFSRevision(uint32 const _homeId);
2691
2708 bool downloadLatestConfigFileRevision(uint32 const _homeId, uint8 const _nodeId);
2709
2721 bool downloadLatestMFSRevision(uint32 const _homeId);
2722
2725 };
2727} // namespace OpenZWave
2728
2729#endif // _Manager_H
unsigned short uint16
Definition: Defs.h:88
#define NULL
Definition: Defs.h:81
unsigned int uint32
Definition: Defs.h:91
signed char int8
Definition: Defs.h:84
signed short int16
Definition: Defs.h:87
signed int int32
Definition: Defs.h:90
#define OPENZWAVE_EXPORT
Definition: Defs.h:52
#define DEPRECATED
Definition: Defs.h:61
unsigned char uint8
Definition: Defs.h:85
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:85
void(* pfnControllerCallback_t)(ControllerState _state, ControllerError _err, void *_context)
Definition: Driver.h:615
ControllerInterface
Definition: Driver.h:112
@ ControllerInterface_Serial
Definition: Driver.h:114
ControllerCommand
Definition: Driver.h:554
Manages a group of devices (various nodes associated with each other).
Definition: Group.h:72
Base class for all Z-Wave command classes.
Definition: CommandClass.h:61
Message object to be passed to and from devices on the Z-Wave network.
Definition: Msg.h:51
Container that holds all of the values associated with a given node.
Definition: ValueStore.h:50
Base class for values associated with a node.
Definition: Value.h:55
The main public interface to OpenZWave.
Definition: Manager.h:109
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
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:82
MetaDataFields
Definition: Node.h:879
Provides a container for data sent via the notification callback handler installed by a call to Manag...
Definition: Notification.h:63
Manages library options read from XML files or the command line.
Definition: Options.h:67
Provides a unique ID for a value reported by a Z-Wave device.
Definition: ValueID.h:77
Definition: Bitfield.cpp:31
Definition: Group.h:64
Definition: Defs.h:107