OpenZWave Library  1.6.0
NotificationCCTypes.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 //
3 // NotificationCCTypes.h
4 //
5 // NotificationCCTypes for Notification Command Class
6 //
7 // Copyright (c) 2018 Justin Hammond <justin@dynam.ac>
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 NOTIFICATIONCCTYPES_H
29 #define NOTIFICATIONCCTYPES_H
30 
31 #include <cstdio>
32 #include <string>
33 #include <map>
34 #include "Defs.h"
35 #include "Driver.h"
37 
38 namespace OpenZWave
39 {
40 
42 {
43 public:
45  NEPT_Location = 0x01,
51  };
52 
54  public:
56  string name;
58  std::map<uint32, string> ListItems;
59  };
61  public:
63  string name;
64  std::map<uint32, NotificationCCTypes::NotificationEventParams* > EventParams;
65  };
67  public:
69  string name;
70  std::map<uint32, NotificationCCTypes::NotificationEvents *> Events;
71  };
72 
73 
74  //-----------------------------------------------------------------------------
75  // Construction
76  //-----------------------------------------------------------------------------
77 private:
80  static void ReadXML();
81 public:
82  static NotificationCCTypes* Get();
83  static bool Create();
85  string GetAlarmType(uint32);
89  const std::map<uint32, NotificationCCTypes::NotificationEventParams* > GetAlarmNotificationEventParams(uint32, uint32);
90 
91  //-----------------------------------------------------------------------------
92  // Instance Functions
93  //-----------------------------------------------------------------------------
94 private:
95  static NotificationCCTypes* m_instance;
96  static std::map<uint32, NotificationCCTypes::NotificationTypes *> Notifications;
97  static uint32 m_revision;
98 };
99 
100 };
101 #endif // VALUEHELP_H
std::map< uint32, NotificationCCTypes::NotificationEventParams * > EventParams
Definition: NotificationCCTypes.h:64
Definition: NotificationCCTypes.h:46
Definition: Bitfield.h:34
uint32 id
Definition: NotificationCCTypes.h:68
const std::map< uint32, NotificationCCTypes::NotificationEventParams * > GetAlarmNotificationEventParams(uint32, uint32)
Definition: NotificationCCTypes.cpp:344
Definition: NotificationCCTypes.h:47
NotificationEventParamTypes
Definition: NotificationCCTypes.h:44
static NotificationCCTypes * Get()
Definition: NotificationCCTypes.cpp:374
string name
Definition: NotificationCCTypes.h:63
const NotificationTypes * GetAlarmNotificationTypes(uint32)
Definition: NotificationCCTypes.cpp:314
uint32 id
Definition: NotificationCCTypes.h:55
const NotificationEvents * GetAlarmNotificationEvents(uint32, uint32)
Definition: NotificationCCTypes.cpp:329
Definition: NotificationCCTypes.h:50
uint32 id
Definition: NotificationCCTypes.h:62
std::map< uint32, NotificationCCTypes::NotificationEvents * > Events
Definition: NotificationCCTypes.h:70
static bool Create()
Definition: NotificationCCTypes.cpp:359
static string GetEventParamNames(NotificationEventParamTypes)
Definition: NotificationCCTypes.cpp:259
Definition: NotificationCCTypes.h:66
unsigned int uint32
Definition: Defs.h:95
Definition: NotificationCCTypes.h:48
Definition: NotificationCCTypes.h:45
string GetEventForAlarmType(uint32, uint32)
Definition: NotificationCCTypes.cpp:299
Definition: NotificationCCTypes.h:49
string name
Definition: NotificationCCTypes.h:69
Definition: NotificationCCTypes.h:60
string name
Definition: NotificationCCTypes.h:56
string GetAlarmType(uint32)
Definition: NotificationCCTypes.cpp:287
Definition: NotificationCCTypes.h:41
NotificationEventParamTypes type
Definition: NotificationCCTypes.h:57
std::map< uint32, string > ListItems
Definition: NotificationCCTypes.h:58