examples: Add notice about using experimental API
[iotivity.git] / resource / csdk / security / provisioning / sample / cloudServer.c
1 /* *****************************************************************
2  *
3  * Copyright 2016 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 #include "cloudCommon.h"
21 #include "cloudResource.h"
22
23 /// This example is using experimental API, so there is no guarantee of support for future release,
24 /// nor any there any guarantee that breaking changes will not occur across releases.
25 #include "experimental/logger.h"
26
27 #define TAG "cloudServer"
28
29 extern LEDResource LED;
30 extern char *gResourceUri;
31
32 int main(int argc, char *argv[])
33 {
34     if (!parseCommandLineArguments(argc, argv))
35     {
36         return -1;
37     }
38
39     if (OC_STACK_OK != initPersistentStorage())
40     {
41         return -2;
42     }
43
44     if (OC_STACK_OK != initProcess(OC_CLIENT_SERVER))
45     {
46         OIC_LOG(ERROR, TAG, "initProcess error, exit\n");
47         return -3;
48     }
49
50     LED.state = false;
51     LED.power = 0;
52     /*
53      * Declare and create the example resource: LED
54      */
55     if (OC_STACK_OK != createLEDResource(gResourceUri, &LED))
56     {
57         return -4;
58     }
59
60     OCMode mode = OC_SERVER;
61     if (OC_STACK_OK != startRequestsThread(&mode))
62     {
63         return -5;
64     }
65
66     startProcess();
67
68     freeThreadResources();
69
70     return 0;
71 }