-}
-
-int createLightResource (char *uri, LightResource *lightResource)
-{
- if (!uri)
- {
- OC_LOG(ERROR, TAG, "Resource URI cannot be NULL");
- return -1;
- }
-
- lightResource->state = false;
- lightResource->power= 0;
- OCStackResult res = OCCreateResource(&(lightResource->handle),
- "core.light",
- OC_RSRVD_INTERFACE_DEFAULT,
- uri,
- OCEntityHandlerCb,
- OC_DISCOVERABLE|OC_OBSERVABLE);
- OC_LOG_V(INFO, TAG, "Created Light resource with result: %s", getResult(res));
-
- return 0;
-}
-
-void DeleteDeviceInfo()
-{
- free(deviceInfo.contentType);
- free(deviceInfo.dateOfManufacture);
- free(deviceInfo.deviceName);
- free(deviceInfo.deviceUUID);
- free(deviceInfo.firmwareVersion);
- free(deviceInfo.hostName);
- free(deviceInfo.manufacturerName);
- free(deviceInfo.manufacturerUrl);
- free(deviceInfo.modelNumber);
- free(deviceInfo.platformVersion);
- free(deviceInfo.supportUrl);
- free(deviceInfo.version);
-}
-
-bool DuplicateString(char** targetString, const char* sourceString)
-{
- if(!sourceString)
- {
- return false;
- }
- else
- {
- *targetString = (char *) malloc(strlen(sourceString) + 1);
-
- if(*targetString)
- {
- strncpy(*targetString, sourceString, (strlen(sourceString) + 1));
- return true;
- }
- }
- return false;
-}
-
-OCStackResult SetDeviceInfo(const char *contentType, const char *dateOfManufacture,
- const char *deviceName, const char *deviceUUID, const char *firmwareVersion,
- const char *hostName, const char *manufacturerName, const char *manufacturerUrl,
- const char *modelNumber, const char *platformVersion, const char *supportUrl,
- const char *version)
-{
-
- bool success = true;
-
- if(manufacturerName != NULL && (strlen(manufacturerName) > MAX_MANUFACTURER_NAME_LENGTH))
- {
- return OC_STACK_INVALID_PARAM;
- }
-
- if(manufacturerUrl != NULL && (strlen(manufacturerUrl) > MAX_MANUFACTURER_URL_LENGTH))
- {
- return OC_STACK_INVALID_PARAM;
- }
-
- if(!DuplicateString(&deviceInfo.contentType, contentType))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.dateOfManufacture, dateOfManufacture))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.deviceName, deviceName))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.deviceUUID, deviceUUID))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.firmwareVersion, firmwareVersion))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.hostName, hostName))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.manufacturerName, manufacturerName))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.manufacturerUrl, manufacturerUrl))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.modelNumber, modelNumber))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.platformVersion, platformVersion))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.supportUrl, supportUrl))
- {
- success = false;
- }
-
- if(!DuplicateString(&deviceInfo.version, version))
- {
- success = false;
- }
-
- if(success)
- {
- return OC_STACK_OK;
- }
-
- DeleteDeviceInfo();
- return OC_STACK_ERROR;
-}