replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / service / notification / src / provider / NSProviderSystem.c
index a9a69aa..0f50776 100644 (file)
 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
 #include "NSProviderSystem.h"\r
 \r
+#if (defined WITH_CLOUD)\r
+#define MAX_SERVER_ADDRESS 32\r
+static char NSRemoteServerAddress[MAX_SERVER_ADDRESS] = {0,};\r
+#endif\r
+\r
+#ifdef WITH_MQ\r
+static NSMQServerInfo * mqServerInfo = NULL;\r
+#endif\r
+\r
 static NSConnectionState NSProviderConnectionState;\r
+\r
 NSProviderInfo * providerInfo;\r
+bool NSPolicy = true;\r
+bool NSResourceSecurity = false;\r
 \r
 void NSSetProviderConnectionState(NSConnectionState state)\r
 {\r
@@ -36,42 +48,124 @@ NSConnectionState NSGetProviderConnectionState()
     return NSProviderConnectionState;\r
 }\r
 \r
-void NSInitProviderInfo()\r
+#if (defined WITH_CLOUD)\r
+void NSSetRemoteServerAddress(char *serverAddress)\r
+{\r
+\r
+    OICStrcpy(NSRemoteServerAddress, MAX_SERVER_ADDRESS, serverAddress);\r
+}\r
+\r
+void NSDeleteRemoteServerAddress(char *serverAddress)\r
+{\r
+    NS_LOG_V(INFO_PRIVATE, "Delete cloud address: %s", serverAddress);\r
+\r
+    memset(NSRemoteServerAddress, 0, MAX_SERVER_ADDRESS);\r
+}\r
+\r
+bool NSIsRemoteServerAddress(char *serverAddress)\r
+{\r
+    NS_LOG_V(INFO_PRIVATE, "Check server address: %s", serverAddress);\r
+\r
+    if (serverAddress != NULL)\r
+    {\r
+        return strstr(NSRemoteServerAddress, serverAddress);\r
+    }\r
+\r
+    return false;\r
+}\r
+#endif\r
+\r
+void NSInitProviderInfo(const char * userInfo)\r
 {\r
     NS_LOG(DEBUG, "NSInitProviderInfo");\r
 \r
     providerInfo = (NSProviderInfo *) OICMalloc(sizeof(NSProviderInfo));\r
     const char * generatedUuid = (char *)OCGetServerInstanceIDString();\r
-    NS_LOG_V(DEBUG, "Generate Provider ID: %s", generatedUuid);\r
-    OICStrcpy(providerInfo->providerId, strlen(generatedUuid), generatedUuid);\r
+    NS_LOG_V(INFO_PRIVATE, "Generate Provider ID: %s", generatedUuid);\r
+    OICStrcpy(providerInfo->providerId, UUID_STRING_SIZE, generatedUuid);\r
 \r
     providerInfo->providerName = NULL;\r
+    providerInfo->userInfo = NULL;\r
+\r
+    if (userInfo)\r
+    {\r
+        providerInfo->userInfo = OICStrdup(userInfo);\r
+    }\r
 }\r
 \r
 void NSDeinitProviderInfo()\r
 {\r
     NS_LOG(DEBUG, "NSDeinitProviderInfo");\r
 \r
-    if(providerInfo == NULL)\r
+    if (!providerInfo)\r
     {\r
         NS_LOG(DEBUG, "providerInfo is NULL");\r
         return;\r
     }\r
 \r
-    if(providerInfo->providerName != NULL)\r
+    if (providerInfo->providerName)\r
     {\r
-        OICFree(providerInfo->providerName);\r
+        NSOICFree(providerInfo->providerName);\r
         providerInfo->providerName = NULL;\r
     }\r
 \r
-    OICFree(providerInfo);\r
+    if (providerInfo->userInfo)\r
+    {\r
+        NSOICFree(providerInfo->userInfo);\r
+        providerInfo->userInfo = NULL;\r
+    }\r
+\r
+    NSOICFree(providerInfo);\r
     providerInfo = NULL;\r
 }\r
 \r
 NSProviderInfo * NSGetProviderInfo()\r
 {\r
-    NS_LOG_V(DEBUG, "ProviderInfo: %s", providerInfo->providerId);\r
+    NS_LOG_V(INFO_PRIVATE, "ProviderInfo: %s", providerInfo->providerId);\r
 \r
     return providerInfo;\r
 }\r
 \r
+bool NSGetPolicy()\r
+{\r
+    return NSPolicy;\r
+}\r
+\r
+void NSSetPolicy(bool policy)\r
+{\r
+    NSPolicy = policy;\r
+}\r
+\r
+bool NSGetResourceSecurity()\r
+{\r
+    return NSResourceSecurity;\r
+}\r
+\r
+void NSSetResourceSecurity(bool secured)\r
+{\r
+    NSResourceSecurity = secured;\r
+}\r
+\r
+const char * NSGetUserInfo()\r
+{\r
+    return providerInfo->userInfo;\r
+}\r
+\r
+#ifdef WITH_MQ\r
+void NSSetMQServerInfo(const char * serverUri, OCDevAddr * devAddr)\r
+{\r
+    if (!mqServerInfo)\r
+    {\r
+        NS_LOG(DEBUG, "setMqServer");\r
+        mqServerInfo = (NSMQServerInfo *)OICMalloc(sizeof(NSMQServerInfo));\r
+        mqServerInfo->serverUri = OICStrdup(serverUri);\r
+        mqServerInfo->devAddr = (OCDevAddr *)OICMalloc(sizeof(OCDevAddr));\r
+        memcpy(mqServerInfo->devAddr, devAddr, sizeof(OCDevAddr));\r
+    }\r
+}\r
+\r
+NSMQServerInfo * NSGetMQServerInfo()\r
+{\r
+    return mqServerInfo;\r
+}\r
+#endif\r