Adding more samsung specific properties
[platform/upstream/iotivity.git] / service / easy-setup / enrollee / src / samsung / sc_easysetup.c
index b4cdc0e..7ebdbee 100644 (file)
@@ -258,6 +258,7 @@ void ReadUserdataCb(OCRepPayload* payload, char* resourceType, void** userdata)
         {
             int64_t channel = -1;
             char *bssid = NULL;
+            bool isHidden = false;
             if (OCRepPayloadGetPropInt(payload, SC_RSRVD_ES_VENDOR_DISCOVERY_CHANNEL, &channel))
             {
                 if(*userdata == NULL)
@@ -355,6 +356,24 @@ void ReadUserdataCb(OCRepPayload* payload, char* resourceType, void** userdata)
                 pWifiConfProp->numCandidateAP = (int)dimensions[0];
                 g_SCProperties.numCandidateAP = (int)dimensions[0];
             }
+            
+            if (OCRepPayloadGetPropBool(payload, SC_RSRVD_ES_VENDOR_HIDDEN, &isHidden))
+            {
+                if(*userdata == NULL)
+                {
+                    *userdata = (void*)OICMalloc(sizeof(SCWiFiConfProperties));
+                    if( *userdata == NULL )
+                    {
+                        OIC_LOG(ERROR, SC_ENROLLEE_TAG, "OICMalloc for SCWiFiConfProperties is failed");
+                        return ;
+                    }
+                    memset(*userdata, 0, sizeof(SCWiFiConfProperties));
+                }
+                OIC_LOG_V(INFO_PRIVATE, SC_ENROLLEE_TAG, "[User specific property] %s : %d",
+                                                            SC_RSRVD_ES_VENDOR_HIDDEN, isHidden);
+                ((SCWiFiConfProperties*)(*userdata))->isHidden = isHidden;
+                g_SCProperties.isHidden = isHidden;
+            }
         }
         else if(strstr(resourceType, OC_RSRVD_ES_RES_TYPE_DEVCONF))
         {
@@ -438,6 +457,14 @@ void ReadUserdataCb(OCRepPayload* payload, char* resourceType, void** userdata)
                 OIC_LOG_V(INFO_PRIVATE, SC_ENROLLEE_TAG, "pDevConfProp.regionalDateTime %s", g_SCProperties.regionalDateTime);
             }
 
+            char *timeZoneId = NULL;
+            if (OCRepPayloadGetPropString(payload, SC_RSRVD_ES_VENDOR_TIMEZONE_ID, &timeZoneId))
+            {
+                OICStrcpy(pDevConfProp->timeZoneId, strlen(timeZoneId)+1, timeZoneId);
+                OICStrcpy(g_SCProperties.timeZoneId, strlen(timeZoneId)+1, timeZoneId);
+                OIC_LOG_V(INFO_PRIVATE, SC_ENROLLEE_TAG, "pDevConfProp.timeZoneId %s", g_SCProperties.timeZoneId);
+            }
+
             char *ssoList = NULL;
             if (OCRepPayloadGetPropString(payload, SC_RSRVD_ES_VENDOR_SSO_LIST, &ssoList))
             {
@@ -622,6 +649,7 @@ void WriteUserdataCb(OCRepPayload* payload, char* resourceType)
             OCRepPayloadSetPropString(payload, SC_RSRVD_ES_VENDOR_UTC_DATE_TIME, g_SCProperties.utcDateTime);
             OCRepPayloadSetPropString(payload, SC_RSRVD_ES_VENDOR_REGIONAL_DATE_TIME, g_SCProperties.regionalDateTime);
             OCRepPayloadSetPropString(payload, SC_RSRVD_ES_VENDOR_ES_PROTOCOL_VERSION, g_SCProperties.esProtocolVersion);
+            OCRepPayloadSetPropString(payload, SC_RSRVD_ES_VENDOR_HUB_ID, g_SCProperties.hubId);
 #else
             if(g_SCProperties.deviceType != NULL)
             {
@@ -671,6 +699,10 @@ void WriteUserdataCb(OCRepPayload* payload, char* resourceType)
             {
                 OCRepPayloadSetPropString(payload, SC_RSRVD_ES_VENDOR_ES_PROTOCOL_VERSION, g_SCProperties.esProtocolVersion);
             }
+            if (g_SCProperties.hubId != NULL)
+            {
+                OCRepPayloadSetPropString(payload, SC_RSRVD_ES_VENDOR_HUB_ID, g_SCProperties.hubId);
+            }
 #endif
         }
     }