[CONPRO-1337] Disabled Presence Feature
[platform/upstream/iotivity.git] / service / notification / src / provider / NSProviderDiscovery.c
1 //******************************************************************\r
2 //\r
3 // Copyright 2016 Samsung Electronics All Rights Reserved.\r
4 //\r
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
6 //\r
7 // Licensed under the Apache License, Version 2.0 (the "License");\r
8 // you may not use this file except in compliance with the License.\r
9 // You may obtain a copy of the License at\r
10 //\r
11 //      http://www.apache.org/licenses/LICENSE-2.0\r
12 //\r
13 // Unless required by applicable law or agreed to in writing, software\r
14 // distributed under the License is distributed on an "AS IS" BASIS,\r
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16 // See the License for the specific language governing permissions and\r
17 // limitations under the License.\r
18 //\r
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
20 \r
21 #include "NSProviderDiscovery.h"\r
22 \r
23 #ifdef WITH_PRESENCE\r
24 NSResult NSStartPresence()\r
25 {\r
26     NS_LOG(DEBUG, "NSStartPresence()");\r
27 \r
28     if (OCStartPresence(0) != OC_STACK_OK)\r
29     {\r
30         NS_LOG(DEBUG, "NSStartPresence() NS_ERROR");\r
31         return NS_ERROR;\r
32     }\r
33 \r
34     NS_LOG(DEBUG, "NSStartPresence() NS_OK");\r
35     return NS_OK;\r
36 }\r
37 \r
38 NSResult NSStopPresence()\r
39 {\r
40     NS_LOG(DEBUG, "NSStopPresence()");\r
41 \r
42     if (OCStopPresence() != OC_STACK_OK)\r
43     {\r
44         NS_LOG(DEBUG, "NSStopPresence() NS_ERROR");\r
45         return NS_ERROR;\r
46     }\r
47 \r
48     NS_LOG(DEBUG, "NSStopPresence() NS_OK");\r
49     return NS_OK;\r
50 }\r
51 #endif\r
52 \r
53 void * NSDiscoverySchedule(void * ptr)\r
54 {\r
55     if (ptr == NULL)\r
56     {\r
57         NS_LOG(DEBUG, "Create NSDiscoverySchedule");\r
58     }\r
59 \r
60     while (NSIsRunning[DISCOVERY_SCHEDULER])\r
61     {\r
62         sem_wait(&NSSemaphore[DISCOVERY_SCHEDULER]);\r
63         pthread_mutex_lock(&NSMutex[DISCOVERY_SCHEDULER]);\r
64 \r
65         if (NSHeadMsg[DISCOVERY_SCHEDULER] != NULL)\r
66         {\r
67             NSTask *node = NSHeadMsg[DISCOVERY_SCHEDULER];\r
68             NSHeadMsg[DISCOVERY_SCHEDULER] = node->nextTask;\r
69 \r
70             switch (node->taskType)\r
71             {\r
72 #ifdef WITH_PRESENCE\r
73                 case TASK_START_PRESENCE:\r
74                     NS_LOG(DEBUG, "CASE TASK_START_PRESENCE : ");\r
75                     NSStartPresence();\r
76                     break;\r
77                 case TASK_STOP_PRESENCE:\r
78                     NS_LOG(DEBUG, "CASE TASK_STOP_PRESENCE : ");\r
79                     NSStopPresence();\r
80                     break;\r
81 #endif\r
82                 case TASK_REGISTER_RESOURCE:\r
83                     NS_LOG(DEBUG, "CASE TASK_REGISTER_RESOURCE : ");\r
84                     NSRegisterResource();\r
85                     break;\r
86 #if (defined WITH_CLOUD)\r
87                 case TASK_PUBLISH_RESOURCE:\r
88                     NS_LOG(DEBUG, "CASE TASK_PUBLISH_PESOURCE : ");\r
89                     NSPublishResourceToCloud((char*)node->taskData);\r
90                     break;\r
91 #endif\r
92                 default:\r
93                     break;\r
94             }\r
95 \r
96             NSOICFree(node);\r
97         }\r
98 \r
99         pthread_mutex_unlock(&NSMutex[DISCOVERY_SCHEDULER]);\r
100     }\r
101 \r
102     NS_LOG(DEBUG, "Destroy NSDiscoverySchedule");\r
103     return NULL;\r
104 }\r