fbb2c057d3f812bbab3bd8aedbe17993a9f10645
[iotivity.git] / resource / csdk / security / provisioning / include / cloud / cloudresource.h
1 /* *****************************************************************
2  *
3  * Copyright 2018 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
21 #ifndef OC_CLOUD_RESOURCE_TYPES_H
22 #define OC_CLOUD_RESOURCE_TYPES_H
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 #define OIC_RSRC_TYPE_SEC_CLOUDCONF             "oic.r.coapcloudconf"
29 #define OIC_RSRC_CLOUDCONF_URI                  "/oic/cloudconf"
30 #define OIC_JSON_CLOUDCONF_NAME                 "cloudconf"
31 #define OIC_RSRC_CLOUDCONF_TOKEN_REFRESH        "/oic/sec/tokenrefresh"
32 #define OC_RSRVD_ACCESS_TOKENTYPE               "tokentype"
33
34 /**
35  * Perform cleanup for Cloud resources.
36  *
37  * @return ::OC_STACK_OK for Success, otherwise some error value.
38  */
39 OCStackResult DeInitCloudResource();
40
41 /**
42  * Initialize Cloud resource by loading data from persistent storage.
43  *
44  * @return ::OC_STACK_OK for Success, otherwise some error value.
45  */
46 OCStackResult InitCloudResource();
47
48 /**
49 * The method is used to create '/oic/cloudconf' resource.
50 */
51 OCStackResult CreateCloudResource();
52
53 /**
54 * Update the persistent storage
55 */
56 bool UpdateCloudPersistentStorage();
57
58 /**
59 * SignOut clouds
60 */
61 void StopClouds();
62 /**
63 * Delete clouds acount
64 */
65 void DeleteCloudAccount();
66
67 #ifdef __cplusplus
68 }
69 #endif
70
71 #endif // OC_CLOUD_RESOURCE_TYPES_H