OCStackResult OCConvertPayload(OCPayload* payload, uint8_t** outPayload, size_t* size) { OC_LOG_V(INFO, TAG, "Converting payload of type %d", payload->type); switch(payload->type) { case PAYLOAD_TYPE_DISCOVERY: return OCConvertDiscoveryPayload((OCDiscoveryPayload*)payload, outPayload, size); case PAYLOAD_TYPE_DEVICE: return OCConvertDevicePayload((OCDevicePayload*)payload, outPayload, size); case PAYLOAD_TYPE_PLATFORM: return OCConvertPlatformPayload((OCPlatformPayload*)payload, outPayload, size); case PAYLOAD_TYPE_REPRESENTATION: return OCConvertRepPayload((OCRepPayload*)payload, outPayload, size); case PAYLOAD_TYPE_PRESENCE: return OCConvertPresencePayload((OCPresencePayload*)payload, outPayload, size); case PAYLOAD_TYPE_SECURITY: return OCConvertSecurityPayload((OCSecurityPayload*)payload, outPayload, size); default: OC_LOG_V(INFO,TAG, "ConvertPayload default %d", payload->type); return OC_STACK_NOTIMPL; } }
static int64_t OCConvertPayloadHelper(OCPayload* payload, uint8_t* outPayload, size_t* size) { switch(payload->type) { case PAYLOAD_TYPE_DISCOVERY: return OCConvertDiscoveryPayload((OCDiscoveryPayload*)payload, outPayload, size); case PAYLOAD_TYPE_DEVICE: return OCConvertDevicePayload((OCDevicePayload*)payload, outPayload, size); case PAYLOAD_TYPE_PLATFORM: return OCConvertPlatformPayload((OCPlatformPayload*)payload, outPayload, size); case PAYLOAD_TYPE_REPRESENTATION: return OCConvertRepPayload((OCRepPayload*)payload, outPayload, size); case PAYLOAD_TYPE_PRESENCE: return OCConvertPresencePayload((OCPresencePayload*)payload, outPayload, size); case PAYLOAD_TYPE_SECURITY: return OCConvertSecurityPayload((OCSecurityPayload*)payload, outPayload, size); case PAYLOAD_TYPE_RD: return OCRDPayloadToCbor((OCRDPayload*)payload, outPayload, size); default: OIC_LOG_V(INFO,TAG, "ConvertPayload default %d", payload->type); return CborErrorUnknownType; } }