- // uri
- err = err | ConditionalAddTextStringToMap(&map, OC_RSRVD_HREF, sizeof(OC_RSRVD_HREF) - 1,
- payload->uri);
-
- // Rep Map
- {
- CborEncoder repMap;
- err = err | cbor_encode_text_string(&map, OC_RSRVD_REPRESENTATION,
- sizeof(OC_RSRVD_REPRESENTATION) - 1);
- err = err | cbor_encoder_create_map(&map, &repMap, CborIndefiniteLength);
-
- // Platform ID
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_PLATFORM_ID,
- sizeof(OC_RSRVD_PLATFORM_ID) - 1,
- payload->info.platformID);
-
- // MFG Name
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_MFG_NAME,
- sizeof(OC_RSRVD_MFG_NAME) - 1,
- payload->info.manufacturerName);
-
- // MFG Url
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_MFG_URL,
- sizeof(OC_RSRVD_MFG_URL) - 1,
- payload->info.manufacturerUrl);
-
- // Model Num
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_MODEL_NUM,
- sizeof(OC_RSRVD_MODEL_NUM) - 1,
- payload->info.modelNumber);
-
- // Date of Mfg
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_MFG_DATE,
- sizeof(OC_RSRVD_MFG_DATE) - 1,
- payload->info.dateOfManufacture);
-
- // Platform Version
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_PLATFORM_VERSION,
- sizeof(OC_RSRVD_PLATFORM_VERSION) - 1,
- payload->info.platformVersion);
-
- // OS Version
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_OS_VERSION,
- sizeof(OC_RSRVD_OS_VERSION) - 1,
- payload->info.operatingSystemVersion);
-
- // Hardware Version
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_HARDWARE_VERSION,
- sizeof(OC_RSRVD_HARDWARE_VERSION) - 1,
- payload->info.hardwareVersion);
-
- // Firmware Version
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_FIRMWARE_VERSION,
- sizeof(OC_RSRVD_FIRMWARE_VERSION) - 1,
- payload->info.firmwareVersion);
-
- // Support URL
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_SUPPORT_URL,
- sizeof(OC_RSRVD_SUPPORT_URL) - 1,
- payload->info.supportUrl);
-
- // System Time
- err = err | ConditionalAddTextStringToMap(&repMap, OC_RSRVD_SYSTEM_TIME,
- sizeof(OC_RSRVD_SYSTEM_TIME) - 1,
- payload->info.systemTime);
- err = err | cbor_encoder_close_container(&map, &repMap);
- }
+ 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 |= OCStringLLJoin(&repMap, OC_RSRVD_RESOURCE_TYPE, payload->rt);
+ VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding resource type.");
+ }