-exit:
- return checkError(err, &encoder, outPayload, size);
-}
-
-static int64_t OCConvertDevicePayload(OCDevicePayload *payload, uint8_t *outPayload,
- size_t *size)
-{
- int64_t err = CborNoError;
- CborEncoder encoder;
-
- cbor_encoder_init(&encoder, outPayload, *size, 0);
- CborEncoder repMap;
- err |= cbor_encoder_create_map(&encoder, &repMap, CborIndefiniteLength);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed creating device map");
-
- // Device ID
- err |= AddTextStringToMap(&repMap, OC_RSRVD_DEVICE_ID, sizeof(OC_RSRVD_DEVICE_ID) - 1 , payload->sid);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding device id");
-
- // Device Name
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_DEVICE_NAME,
- sizeof(OC_RSRVD_DEVICE_NAME) - 1, payload->deviceName);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding device name");
-
- // Device Spec Version
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_SPEC_VERSION,
- sizeof(OC_RSRVD_SPEC_VERSION) - 1, payload->specVersion);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding data spec version");
-
- // Device data Model Version
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_DATA_MODEL_VERSION,
- sizeof(OC_RSRVD_DATA_MODEL_VERSION) - 1, payload->dataModelVersion);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding data model version");
-
- err |= cbor_encoder_close_container(&encoder, &repMap);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed closing device map");
-
-exit:
- return checkError(err, &encoder, outPayload, size);
-}
-
-static int64_t OCConvertPlatformPayload(OCPlatformPayload *payload, uint8_t *outPayload,
- size_t *size)
-{
- int64_t err = CborNoError;
- CborEncoder encoder;
-
- cbor_encoder_init(&encoder, outPayload, *size, 0);
-
- CborEncoder repMap;
- err |= cbor_encoder_create_map(&encoder, &repMap, CborIndefiniteLength);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed creating platform map");
-
- // Platform ID
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_PLATFORM_ID,
- sizeof(OC_RSRVD_PLATFORM_ID) - 1, payload->info.platformID);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding platform id");
-
- // MFG Name
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_MFG_NAME,
- sizeof(OC_RSRVD_MFG_NAME) - 1, payload->info.manufacturerName);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding mfg name");
-
- // MFG Url
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_MFG_URL,
- sizeof(OC_RSRVD_MFG_URL) - 1, payload->info.manufacturerUrl);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding mfg url");
-
- // Model Num
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_MODEL_NUM,
- sizeof(OC_RSRVD_MODEL_NUM) -1, payload->info.modelNumber);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding model num");
-
- // Date of Mfg
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_MFG_DATE,
- sizeof(OC_RSRVD_MFG_DATE) - 1, payload->info.dateOfManufacture);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding mfg date");
-
- // Platform Version
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_PLATFORM_VERSION,
- sizeof(OC_RSRVD_PLATFORM_VERSION) - 1, payload->info.platformVersion);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding platform version");
-
- // OS Version
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_OS_VERSION,
- sizeof(OC_RSRVD_OS_VERSION) - 1, payload->info.operatingSystemVersion);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding OS version");
-
- // Hardware Version
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_HARDWARE_VERSION,
- sizeof(OC_RSRVD_HARDWARE_VERSION) - 1, payload->info.hardwareVersion);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding HW version");
-
- // Firmware Version
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_FIRMWARE_VERSION,
- sizeof(OC_RSRVD_FIRMWARE_VERSION) - 1, payload->info.firmwareVersion);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding firmware version");
-
- // Support URL
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_SUPPORT_URL,
- sizeof(OC_RSRVD_SUPPORT_URL) - 1, payload->info.supportUrl);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding support url");
-
- // System Time
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_SYSTEM_TIME,
- sizeof(OC_RSRVD_SYSTEM_TIME) - 1, payload->info.systemTime);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding system time");
-
- // Resource type
- if (payload->rt)
- {
- err |= ConditionalAddTextStringToMap(&repMap, OC_RSRVD_RESOURCE_TYPE,
- sizeof(OC_RSRVD_RESOURCE_TYPE) - 1, payload->rt);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding resource type");
- }
-
- // Resource interfaces
- if (payload->interfaces)
- {
- err |= cbor_encode_text_string(&repMap, OC_RSRVD_INTERFACE,
- sizeof(OC_RSRVD_INTERFACE) - 1);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding platform interface tag");
- char* joinedInterfaces = OCStringLLJoin(payload->interfaces);
- VERIFY_PARAM_NON_NULL(TAG, joinedInterfaces, "Failed creating joined string");
- err |= cbor_encode_text_string(&repMap, joinedInterfaces, strlen(joinedInterfaces));
- OICFree(joinedInterfaces);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding platform interface value");