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
38namespace OpenZWave
39{
40
42{
43public:
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 //-----------------------------------------------------------------------------
77private:
80 static void ReadXML();
81public:
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 //-----------------------------------------------------------------------------
94private:
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
unsigned int uint32
Definition: Defs.h:95
string name
Definition: NotificationCCTypes.h:56
std::map< uint32, string > ListItems
Definition: NotificationCCTypes.h:58
NotificationEventParamTypes type
Definition: NotificationCCTypes.h:57
uint32 id
Definition: NotificationCCTypes.h:55
Definition: NotificationCCTypes.h:60
std::map< uint32, NotificationCCTypes::NotificationEventParams * > EventParams
Definition: NotificationCCTypes.h:64
string name
Definition: NotificationCCTypes.h:63
uint32 id
Definition: NotificationCCTypes.h:62
Definition: NotificationCCTypes.h:66
uint32 id
Definition: NotificationCCTypes.h:68
string name
Definition: NotificationCCTypes.h:69
std::map< uint32, NotificationCCTypes::NotificationEvents * > Events
Definition: NotificationCCTypes.h:70
Definition: NotificationCCTypes.h:42
const NotificationEvents * GetAlarmNotificationEvents(uint32, uint32)
Definition: NotificationCCTypes.cpp:329
NotificationEventParamTypes
Definition: NotificationCCTypes.h:44
@ NEPT_String
Definition: NotificationCCTypes.h:49
@ NEPT_List
Definition: NotificationCCTypes.h:46
@ NEPT_Location
Definition: NotificationCCTypes.h:45
@ NEPT_Byte
Definition: NotificationCCTypes.h:48
@ NEPT_UserCodeReport
Definition: NotificationCCTypes.h:47
@ NEPT_Time
Definition: NotificationCCTypes.h:50
string GetAlarmType(uint32)
Definition: NotificationCCTypes.cpp:287
static bool Create()
Definition: NotificationCCTypes.cpp:359
static NotificationCCTypes * Get()
Definition: NotificationCCTypes.cpp:374
const NotificationTypes * GetAlarmNotificationTypes(uint32)
Definition: NotificationCCTypes.cpp:314
const std::map< uint32, NotificationCCTypes::NotificationEventParams * > GetAlarmNotificationEventParams(uint32, uint32)
Definition: NotificationCCTypes.cpp:344
string GetEventForAlarmType(uint32, uint32)
Definition: NotificationCCTypes.cpp:299
static string GetEventParamNames(NotificationEventParamTypes)
Definition: NotificationCCTypes.cpp:259
Definition: Bitfield.h:35