Modifying version number for building on tizen 3.0
[platform/upstream/iotivity.git] / examples / OICMiddle / Server.h
1 #ifndef SERVER_H
2 #define SERVER_H
3
4 //******************************************************************
5 //
6 // Copyright 2014 Intel Corporation.
7 //
8 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
9 //
10 // Licensed under the Apache License, Version 2.0 (the "License");
11 // you may not use this file except in compliance with the License.
12 // You may obtain a copy of the License at
13 //
14 //      http://www.apache.org/licenses/LICENSE-2.0
15 //
16 // Unless required by applicable law or agreed to in writing, software
17 // distributed under the License is distributed on an "AS IS" BASIS,
18 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 // See the License for the specific language governing permissions and
20 // limitations under the License.
21 //
22 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
23
24 #include "OICMiddle.h"
25
26 class MiddleServer
27 {
28 private:
29     std::string m_name;
30     bool m_state;
31     int m_power;
32     std::string m_url;
33     OCResourceHandle m_resourceHandle;
34     OCRepresentation *m_rep;
35     std::function<OCEntityHandlerResult(const std::shared_ptr<OCResourceRequest>)> cb;
36
37 public:
38     MiddleServer();
39
40     bool init();
41     bool createAndRegisterResources(std::vector<std::string> &resourceUrlList,
42                        std::vector<std::string> &resourceTypeList,
43                        std::vector<std::string> &resourceInterfaceList,
44                        std::vector<std::string> &nameList,
45                        std::vector<std::string> &powerList,
46                        std::vector<std::string> &stateList);
47     OCEntityHandlerResult entityHandler(const std::shared_ptr<OCResourceRequest>);
48
49     bool registerResource(std::string & resourceUrl,
50                        const std::string &resourceTypeName,
51                        const std::string & resourceInterface);
52 private:
53     void printRegisterResourceResult(OCStackResult &result);
54 };
55
56 #endif // SERVER_H