uint8_t numRcvdVendorSpecificHeaderOptions;
/** Array of received vendor specific header option .*/
- OCHeaderOption rcvdVendorSpecificHeaderOptions[MAX_HEADER_OPTIONS];
+ OCHeaderOption *rcvdVendorSpecificHeaderOptions;
/** Remote end-point address **/
OCDevAddr devAddr;
//TODO: should the following function be public?
OCStackResult OCChangeResourceProperty(OCResourceProperty * inputProperty,
OCResourceProperty resourceProperties, uint8_t enable);
-#endif
const char *convertTriggerEnumToString(OCPresenceTrigger trigger);
OCPresenceTrigger convertTriggerStringToEnum(const char * triggerStr);
+#endif // WITH_PRESENCE
void CopyEndpointToDevAddr(const CAEndpoint_t *in, OCDevAddr *out);
*/
void OCDeleteResourceAttributes(OCAttribute *rsrcAttributes);
+/**
+ * A request uri consists of the following components in order:
+ * example
+ * optionally one of
+ * CoAP over UDP prefix "coap://"
+ * CoAP over TCP prefix "coap+tcp://"
+ * CoAP over DTLS prefix "coaps://"
+ * CoAP over TLS prefix "coaps+tcp://"
+ * optionally one of
+ * IPv6 address "[1234::5678]"
+ * IPv4 address "192.168.1.1"
+ * optional port ":5683"
+ * resource uri "/oc/core..."
+ *
+ * for PRESENCE requests, extract resource type.
+ *
+ * @return ::OC_STACK_OK on success, some other value upon failure.
+ */
+OCStackResult ParseRequestUri(const char *fullUri,
+ OCTransportAdapter adapter,
+ OCTransportFlags flags,
+ OCDevAddr **devAddr,
+ char **resourceUri,
+ char **resourceType);
+
+/**
+ * Fix up client response data.
+ *
+ * @param cr Response from queries to remote servers.
+ */
+void FixUpClientResponse(OCClientResponse *cr);
+
#ifdef __cplusplus
}
#endif // __cplusplus