* OC_SLOW - When this bit is set, the resource has been marked as 'slow'. 'slow' signifies
* that responses from this resource can expect delays in processing its
* requests from clients.
+ * OC_SECURE - When this bit is set, the resource is a secure resource.
*/
typedef enum {
OC_ACTIVE = (1 << 0),
OC_DISCOVERABLE = (1 << 1),
OC_OBSERVABLE = (1 << 2),
- OC_SLOW = (1 << 3)
+ OC_SLOW = (1 << 3),
+ OC_SECURE = (1 << 4)
} OCResourceProperty;
/**
* OC_STACK_INVALID_CALLBACK - invalid callback function pointer
* OC_STACK_INVALID_METHOD - invalid resource method
* OC_STACK_INVALID_URI - invalid required or reference URI
+ * OC_STACK_INVALID_QUERY - number of resource types specified for filtering presence
+ * notifications exceeds @ref MAX_PRESENCE_FILTERS.
*/
OCStackResult OCDoResource(OCDoHandle *handle, OCMethod method, const char *requiredUri, const char *referenceUri,
const char *request, OCQualityOfService qos, OCCallbackData *cbData, OCHeaderOption * options,
uint8_t resourceProperties);
/**
+ * Create a resource. with host ip address for remote resource
+ *
+ * @param handle - pointer to handle to newly created resource. Set by ocstack.
+ * Used to refer to resource
+ * @param resourceTypeName - name of resource type. Example: "core.led"
+ * @param resourceInterfaceName - name of resource interface. Example: "core.rw"
+ * @param host - HOST address of the remote resource. Example: "coap://xxx.xxx.xxx.xxx:xxxxx"
+ * @param uri - URI of the resource. Example: "/a/led"
+ * @param entityHandler - entity handler function that is called by ocstack to handle requests, etc
+ * NULL for default entity handler
+ * @param resourceProperties - properties supported by resource.
+ * Example: OC_DISCOVERABLE|OC_OBSERVABLE
+ *
+ * @return
+ * OC_STACK_OK - no errors
+ * OC_STACK_ERROR - stack process error
+ */
+OCStackResult OCCreateResourceWithHost(OCResourceHandle *handle,
+ const char *resourceTypeName,
+ const char *resourceInterfaceName,
+ const char *host,
+ const char *uri,
+ OCEntityHandler entityHandler,
+ uint8_t resourceProperties);
+
+/**
* Add a resource to a collection resource.
*
* @param collectionHandle - handle to the collection resource