#define IOTVT_SRM_UTILITY_H
#include "ocstack.h"
+#if defined (__TIZENRT__)
+#include <apps/netutils/cJSON.h>
+#else
#include "cJSON.h"
+#endif
#include "securevirtualresourcetypes.h"
#ifdef __cplusplus
extern "C"
{
#endif
-#include "uri.h"
+#include <coap/uri.h>
#ifdef __cplusplus
}
#endif
coap_parse_iterator_t pi; /**< coap struct for tokenizing the query.*/
};
+typedef enum OicSecOtmEvent{
+ OIC_OTM_READY = 0,
+ OIC_OTM_STARTED = 1,
+ OIC_OTM_DONE = 2,
+ OIC_OTM_ERROR = 3
+}OicSecOtmEvent_t;
+
+/**
+ * Callback function to recevie the OTM event on server side.
+ *
+ * @param addr PT's address (address can be NULL in case of init state)
+ * @param port PT's port (It is meaningless in case of init state & BLE)
+ * @param uuid PT's UUID (UUID can be NULL in case of init state & coap reqest)
+ * @param event OTM state (@ref OicSecOtmEvent_t)
+ */
+typedef void (*OicSecOtmEventHandler_t)(const char* addr, uint16_t port,
+ const char* uuid, int event);
+
/**
* Macro to verify success of operation.
* eg: VERIFY_SUCCESS(TAG, OC_STACK_OK == foo(), ERROR);
OCStackResult ConvertStrToUuid(const char* strUuid, OicUuid_t* uuid);
+#if defined(__WITH_DTLS__) || defined (__WITH_TLS__)
+/**
+ * API to save the seed value to generate device UUID.
+ *
+ * @param seed buffer of seed value.
+ * @param seedSize byte length of seed
+ *
+ * @return ::OC_STACK_OK for Success, otherwise some error value.
+ */
+OCStackResult SetDeviceIdSeed(const uint8_t* seed, size_t seedSize);
+
+/**
+ * API to register OTM event handler
+ *
+ * @param otmEventHandler implementation of OTM event handler (@ref OicSecOtmEventHandler_t)
+ */
+void SetOtmEventHandler(OicSecOtmEventHandler_t otmEventHandler);
+
+/**
+ * Invoke OTM event handler to notify the OTM state.
+ *
+ * @param addr PT's address (address can be NULL in case of init state)
+ * @param port PT's port (It is meaningless in case of init state & BLE)
+ * @param uuid PT's UUID (UUID can be NULL in case of init state & coap reqest)
+ * @param event OTM state (@ref OicSecOtmEvent_t)
+ * @param result OTM result code
+ */
+void InvokeOtmEventHandler(const char* addr, uint16_t port,
+ const OicUuid_t* uuid, OicSecOtmEvent_t event);
+#endif
+
#ifdef __cplusplus
}
#endif // __cplusplus