[IOT-789] [IOT-792] [IOT-794] [IOT-1763 partial fix]
[iotivity.git] / resource / csdk / security / include / internal / policyengine.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_PE_H
22 #define IOTVT_SRM_PE_H
23
24 #include "ocstack.h"
25 #include "logger.h"
26 #include "securevirtualresourcetypes.h"
27 #include "secureresourcemanager.h"
28 #include "cainterface.h"
29 #include <stdlib.h>
30 #include <stdint.h>
31
32 /**
33  * Check whether a request should be allowed.
34  *
35  * @param context is the pointer to SRM Request Context to use.
36  *
37  * Upon return, context->responseVal will be set to ACCESS_GRANTED if request
38  * should be processed, otherwise context->responseVal will be set to
39  * some flavor of ACCESS_DENIED.
40  */
41 void CheckPermission( SRMRequestContext_t *context );
42
43 /**
44  * Get CRUDN permission for a method.
45  *
46  * @param method is CRUDN permission being seeked.
47  *
48  * @return the uint16_t CRUDN permission .
49  */
50 uint16_t GetPermissionFromCAMethod_t(const CAMethod_t method);
51
52 typedef OCStackResult (*GetSvrRownerId_t)(OicUuid_t *rowner);
53
54 #endif //IOTVT_SRM_PE_H