Imported Upstream version 0.9.1
[platform/upstream/iotivity.git] / service / things-manager / sampleapp / tizen / ConServerApp / inc / factorysetresource.h
1 /******************************************************************
2  *
3  * Copyright 2015 Samsung Electronics All Rights Reserved.
4  *
5  *
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  ******************************************************************/
20 #ifndef __FACTORYSET_RESOURCE_H__
21 #define __FACTORYSET_RESOURCE_H__
22
23 #include <functional>
24
25 #include "OCPlatform.h"
26 #include "OCApi.h"
27 #include "ThingsManager.h"
28 #include "configurationresource.h"
29
30 #pragma once
31
32 using namespace OC;
33
34 typedef std::function<OCEntityHandlerResult(std::shared_ptr< OCResourceRequest > request)>
35 ResourceEntityHandler;
36
37 class FactorySetResource : public ConfigurationResource
38 {
39     public:
40
41         FactorySetResource();
42
43         ~FactorySetResource();
44
45         void createResource(ResourceEntityHandler callback);
46
47         void setFactorySetRepresentation(OCRepresentation &rep);
48
49         OCRepresentation getFactorySetRepresentation();
50
51         std::string getUri();
52
53         void deleteResource();
54 };
55
56 #endif // __FACTORYSET_RESOURCE_H__