size_t *size);
static int64_t OCConvertRepPayload(OCRepPayload *payload, uint8_t *outPayload, size_t *size);
static int64_t OCConvertRepMap(CborEncoder *map, const OCRepPayload *payload);
+#ifdef WITH_PRESENCE
static int64_t OCConvertPresencePayload(OCPresencePayload *payload, uint8_t *outPayload,
size_t *size);
+#endif
static int64_t OCConvertSecurityPayload(OCSecurityPayload *payload, uint8_t *outPayload,
size_t *size);
static int64_t OCConvertSingleRepPayload(CborEncoder *parent, const OCRepPayload *payload);
// reallocate "out" and try again!
uint8_t *out2 = (uint8_t *)OICRealloc(out, curSize);
VERIFY_PARAM_NON_NULL(TAG, out2, "Failed to increase payload size");
+ memset(out2, 0, curSize);
out = out2;
err = OCConvertPayloadHelper(payload, out, &curSize);
while (err == CborErrorOutOfMemory)
{
uint8_t *out2 = (uint8_t *)OICRealloc(out, curSize);
VERIFY_PARAM_NON_NULL(TAG, out2, "Failed to increase payload size");
+ memset(out2, 0, curSize);
out = out2;
err = OCConvertPayloadHelper(payload, out, &curSize);
}
return OCConvertDiscoveryPayload((OCDiscoveryPayload*)payload, outPayload, size);
case PAYLOAD_TYPE_REPRESENTATION:
return OCConvertRepPayload((OCRepPayload*)payload, outPayload, size);
+#ifdef WITH_PRESENCE
case PAYLOAD_TYPE_PRESENCE:
return OCConvertPresencePayload((OCPresencePayload*)payload, outPayload, size);
+#endif
case PAYLOAD_TYPE_SECURITY:
return OCConvertSecurityPayload((OCSecurityPayload*)payload, outPayload, size);
default:
}
#ifdef TCP_ADAPTER
- err |= cbor_encode_text_string(&policyMap, OC_RSRVD_TCP_PORT,
- sizeof(OC_RSRVD_TCP_PORT) - 1);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding tcp port tag");
- err |= cbor_encode_uint(&policyMap, resource->tcpPort);
- VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding tcp port value");
+#ifdef __WITH_TLS__
+ // tls
+ if (resource->secure)
+ {
+ err |= cbor_encode_text_string(&policyMap, OC_RSRVD_TLS_PORT,
+ sizeof(OC_RSRVD_TLS_PORT) - 1);
+ VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding tcp secure port tag");
+ err |= cbor_encode_uint(&policyMap, resource->tcpPort);
+ VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding tcp secure port value");
+ }
+
+ // tcp
+ else
+#endif
+ {
+ err |= cbor_encode_text_string(&policyMap, OC_RSRVD_TCP_PORT,
+ sizeof(OC_RSRVD_TCP_PORT) - 1);
+ VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding tcp port tag");
+ err |= cbor_encode_uint(&policyMap, resource->tcpPort);
+ VERIFY_CBOR_SUCCESS(TAG, err, "Failed adding tcp port value");
+ }
#endif
err |= cbor_encoder_close_container(&linkMap, &policyMap);
return checkError(err, &encoder, outPayload, size);
}
+#ifdef WITH_PRESENCE
static int64_t OCConvertPresencePayload(OCPresencePayload *payload, uint8_t *outPayload,
size_t *size)
{
exit:
return checkError(err, &encoder, outPayload, size);
}
+#endif // WITH_PRESENCE
static int64_t AddTextStringToMap(CborEncoder* map, const char* key, size_t keylen,
const char* value)