Exposed APIs for getting resource types and resource interfaces in OCResource header...
[platform/upstream/iotivity.git] / include / OutOfProcClientWrapper.h
1 //******************************************************************
2 //
3 // Copyright 2014 Intel Corporation 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
21 #ifndef _OUT_OF_PROC_CLIENT_WRAPPER_H_
22 #define _OUT_OF_PROC_CLIENT_WRAPPER_H_
23
24 #include <OCApi.h>
25
26 namespace OC
27 {
28     class OutOfProcClientWrapper : public IClientWrapper
29     {
30     public:
31         OutOfProcClientWrapper(std::weak_ptr<std::mutex> csdkLock, PlatformConfig cfg) { }
32         
33         virtual OCStackResult ListenForResource(const std::string& serviceUrl, const std::string& resourceType, 
34             std::function<void(std::shared_ptr<OCResource>)>& callback) {return OC_STACK_NOTIMPL;}
35
36         virtual OCStackResult GetResourceAttributes(const std::string& host, const std::string& uri, 
37             const QueryParamsMap& queryParams, std::function<void(const OCRepresentation, const int)>& callback){return OC_STACK_NOTIMPL;}
38 /*        
39         virtual OCStackResult SetResourceAttributes(const std::string& host, const std::string& uri, 
40             const AttributeMap& attributes, const QueryParamsMap& queryParams, std::function<void(const AttributeMap,const int)>& callback){return OC_STACK_NOTIMPL;}
41  */       
42         virtual OCStackResult SetResourceAttributes(const std::string& host, const std::string& uri, 
43             const OCRepresentation& attributes, const QueryParamsMap& queryParams, std::function<void(const OCRepresentation,const int)>& callback){return OC_STACK_NOTIMPL;}
44
45         virtual OCStackResult ObserveResource(ObserveType observeType, OCDoHandle* handle, const std::string& host, 
46             const std::string& uri, const QueryParamsMap& queryParams, 
47             std::function<void(const OCRepresentation&, const int&, const int&)>& callback){return OC_STACK_NOTIMPL;}
48         
49         virtual OCStackResult CancelObserveResource(OCDoHandle handle, const std::string& host, const std::string& uri){return OC_STACK_NOTIMPL;}
50
51         virtual std::shared_ptr<OCResource> parseOCResource(IClientWrapper::Ptr clientWrapper, const std::string& host, 
52             const boost::property_tree::ptree resourceNode) {return nullptr;}
53     };
54 }
55
56 #endif