a75cb7ac8fd77ceab4e307a2a3706ff11a4aec51
[platform/upstream/iotivity.git] / resource / csdk / security / include / internal / resourcemanager.h
1 //******************************************************************
2 //
3 // Copyright 2015 Intel Mobile Communications GmbH 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 IOTVT_SRM_RM_H
22 #define IOTVT_SRM_RM_H
23
24 #include <stdlib.h>
25 #include "ocstack.h"
26 #include "securevirtualresourcetypes.h"
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 /**
33  * Initialize all secure resources ( /oic/sec/cred, /oic/sec/acl, /oic/sec/pstat etc).
34  *
35  * @return ::OC_STACK_OK for Success, otherwise some error value
36  */
37 OCStackResult InitSecureResources();
38
39 /**
40  * Perform cleanup for secure resources ( /oic/sec/cred, /oic/sec/acl, /oic/sec/pstat etc).
41  *
42  * @return ::OC_STACK_OK for Success, otherwise some error value
43  */
44 OCStackResult DestroySecureResources();
45
46 /**
47  * This method is used by all secure resource modules to send responses to REST queries.
48  *
49  * @param ehRequest pointer to entity handler request data structure.
50  * @param ehRet result code from entity handler.
51  * @param cborPayload response payload.
52  * @param size is the cborpayload size
53  *
54  * @return ::OC_STACK_OK for Success, otherwise some error value.
55  */
56 OCStackResult SendSRMResponse(const OCEntityHandlerRequest *ehRequest,
57         OCEntityHandlerResult ehRet, uint8_t *cborPayload, size_t size);
58
59 #ifdef __cplusplus
60 }
61 #endif
62
63 #endif //IOTVT_SRM_RM_H
64