BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
DevicePrefix.h
1 #pragma once
2 
3 #include "util/Enum.h"
4 
5 namespace BeeeOn {
6 
7 /*
8  * The prefix represents the identification of the device group
9  * with the same specifications.
10  */
12 public:
13  enum Raw {
14  PREFIX_INVALID = 0x00,
15  PREFIX_FITPROTOCOL = 0xa1,
16  PREFIX_PRESSURE_SENSOR = 0xa2,
17  PREFIX_VIRTUAL_DEVICE = 0xa3,
18  PREFIX_VPT = 0xa4,
19  PREFIX_OPENHAB = 0xa5,
20  PREFIX_BLUETOOTH = 0xa6,
21  PREFIX_BELKIN_WEMO = 0xa7,
22  PREFIX_ZWAVE = 0xa8,
23  PREFIX_JABLOTRON = 0x09,
24  PREFIX_IQRF = 0xa9,
25  PREFIX_LEDS = 0xaa,
26  PREFIX_PHILIPS_HUE = 0xab,
27  PREFIX_BLE_SMART = 0xac,
28  PREFIX_VEKTIVA = 0xad,
29  PREFIX_SONOFF = 0xae,
30  PREFIX_CONRAD = 0xaf,
31  };
32 
33  static EnumHelper<Raw>::ValueMap &valueMap();
34 };
35 
36 struct DevicePrefixNamesInitializer : public EnumNamesInitializer<DevicePrefixEnum::Raw> {
37  DevicePrefixNamesInitializer(const ValueMap &map);
38 
39  static NamesMap customNamesMap(const ValueMap &map);
40 };
41 
42 typedef Enum<DevicePrefixEnum, DevicePrefixEnum::Raw,
44 
45 
46 }
Definition: Enum.h:106
Definition: DevicePrefix.h:11
Definition: DevicePrefix.h:36
std::map< Raw, std::string > ValueMap
Definition: Enum.h:20
Definition: Enum.h:51