- CborValue repVal;
- size_t len = 0;
- ret = OC_STACK_MALFORMED_RESPONSE;
-
- // Platform ID
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_PLATFORM_ID, &repVal);
- if (cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.platformID), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find platformID in the platform payload");
- }
- // MFG Name
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_MFG_NAME, &repVal);
- if (cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.manufacturerName), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find manufactureName in the platform payload");
- }
- // MFG URL
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_MFG_URL, &repVal);
- if (cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.manufacturerUrl), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find manufactureUrl in the platform payload");
- }
- // Model Num
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_MODEL_NUM, &repVal);
- if (cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.modelNumber), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find modelNumber in the platform payload");
- }
- // Date of Mfg
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_MFG_DATE, &repVal);
- if (cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.dateOfManufacture), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find dateOfManufacture in the platform payload");
- }
- // Platform Version
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_PLATFORM_VERSION, &repVal);
- if (cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.platformVersion), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find platformVersion in the platform payload");
- }
- // OS Version
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_OS_VERSION, &repVal);
- if (cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.operatingSystemVersion), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find OSVersion in the platform payload");
- }
- // Hardware Version
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_HARDWARE_VERSION, &repVal);
- if(cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.hardwareVersion), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find HWVersion in the platform payload");
- }
- // Firmware Version
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_FIRMWARE_VERSION, &repVal);
- if(cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.firmwareVersion), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find firmwareVersion in the platform payload");
- }
- // Support URL
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_SUPPORT_URL, &repVal);
- if(cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.supportUrl), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find supportUrl in the platform payload");
- }
- // System Time
- err = cbor_value_map_find_value(rootValue, OC_RSRVD_SYSTEM_TIME, &repVal);
- if(cbor_value_is_valid(&repVal))
- {
- err = cbor_value_dup_text_string(&repVal, &(info.systemTime), &len, NULL);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed to find systemTume in the platform payload");
- }