[IOT-3001]Fix rownerId in PostOwnerCredential
[iotivity.git] / resource / examples / ocf_light / Platform.h
1 /*
2  * Platform.h
3  */
4
5 #ifndef EXAMPLE_OCF_LIGHT_PLATFORM_H_
6 #define EXAMPLE_OCF_LIGHT_PLATFORM_H_
7
8 #include <vector>
9 #include <string>
10 #include "OCPlatform.h"
11
12 class Platform
13 {
14 public:
15     Platform(void);
16     virtual ~Platform(void);
17
18     OCStackResult start(void);
19     OCStackResult registerPlatformInfo(void);
20     OCPlatformInfo* getPlatformInfo(void);
21     OCStackResult stop(void);
22
23     /**
24      *  SetDeviceInfo
25      *  Sets the device information ("oic/d"), from the globals
26
27      * @return OC_STACK_ERROR or OC_STACK_OK
28      */
29     OCStackResult setDeviceInfo(void);
30
31 private:
32     // Set of strings for each of platform Info fields
33     std::string m_platformId = "0A3E0D6F-DBF5-404E-8719-D6880042463A";
34     std::string m_manufacturerName = "ocf";
35     std::string m_manufacturerLink = "https://ocf.org/";
36     std::string m_modelNumber = "ModelNumber";
37     std::string m_dateOfManufacture = "2017-12-01";
38     std::string m_platformVersion = "1.0";
39     std::string m_operatingSystemVersion = "myOS";
40     std::string m_hardwareVersion = "1.0";
41     std::string m_firmwareVersion = "1.0";
42     std::string m_supportLink = "https://ocf.org/";
43     std::string m_systemTime = "2017-12-01T12:00:00.52Z";
44
45     /**
46      *  SetPlatformInfo
47      *  Sets the platform information ("oic/p"), from the globals
48
49      * @param platformID the platformID
50      * @param manufacturerName the manufacturerName
51      * @param manufacturerUrl the manufacturerUrl
52      * @param modelNumber the modelNumber
53      * @param platformVersion the platformVersion
54      * @param operatingSystemVersion the operatingSystemVersion
55      * @param hardwareVersion the hardwareVersion
56      * @param firmwareVersion the firmwareVersion
57      * @param supportUrl the supportUrl
58      * @param systemTime the systemTime
59      */
60     void setPlatformInfo(std::string platformID, std::string manufacturerName,
61             std::string manufacturerUrl, std::string modelNumber, std::string dateOfManufacture,
62             std::string platformVersion, std::string operatingSystemVersion,
63             std::string hardwareVersion, std::string firmwareVersion, std::string supportUrl,
64             std::string systemTime);
65
66     /**
67      *  deletePlatformInfo
68      *  Deletes the allocated platform information
69      */
70     void deletePlatformInfo(void);
71     // OCPlatformInfo Contains all the platform info to be stored
72     OCPlatformInfo platformInfo;
73
74 public:
75     std::string  protocolIndependentID = "fa008167-3bbf-4c9d-8604-c9bcb96cb712";
76
77     // Set of strings for each of device info fields
78     std::string  deviceName = "Binary Switch";
79     std::string  deviceType = "oic.d.light";
80     std::string  specVersion = "ocf.1.0.0";
81     std::vector<std::string> dataModelVersions;
82 };
83
84 #endif /* EXAMPLE_OCF_LIGHT_PLATFORM_H_ */