Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: sht15_remote_monitoring RobotArmDemo iothub_client_sample_amqp iothub_client_sample_amqp ... more
Diff: iothubtransport_amqp_device.h
- Revision:
- 39:e98d5df6dc74
- Parent:
- 34:51d158b409d2
- Child:
- 51:269e65571b39
--- a/iothubtransport_amqp_device.h Fri Jul 28 09:51:42 2017 -0700
+++ b/iothubtransport_amqp_device.h Fri Aug 11 14:01:56 2017 -0700
@@ -24,46 +24,58 @@
static const char* DEVICE_OPTION_SAS_TOKEN_REFRESH_TIME_SECS = "sas_token_refresh_time_secs";
static const char* DEVICE_OPTION_SAS_TOKEN_LIFETIME_SECS = "sas_token_lifetime_secs";
-typedef enum DEVICE_STATE_TAG
-{
- DEVICE_STATE_STOPPED,
- DEVICE_STATE_STOPPING,
- DEVICE_STATE_STARTING,
- DEVICE_STATE_STARTED,
- DEVICE_STATE_ERROR_AUTH,
- DEVICE_STATE_ERROR_AUTH_TIMEOUT,
+#define DEVICE_STATE_VALUES \
+ DEVICE_STATE_STOPPED, \
+ DEVICE_STATE_STOPPING, \
+ DEVICE_STATE_STARTING, \
+ DEVICE_STATE_STARTED, \
+ DEVICE_STATE_ERROR_AUTH, \
+ DEVICE_STATE_ERROR_AUTH_TIMEOUT, \
DEVICE_STATE_ERROR_MSG
-} DEVICE_STATE;
+
+DEFINE_ENUM(DEVICE_STATE, DEVICE_STATE_VALUES);
+
+#define DEVICE_AUTH_MODE_VALUES \
+ DEVICE_AUTH_MODE_CBS, \
+ DEVICE_AUTH_MODE_X509
-typedef enum DEVICE_AUTH_MODE_TAG
-{
- DEVICE_AUTH_MODE_CBS,
- DEVICE_AUTH_MODE_X509
-} DEVICE_AUTH_MODE;
+DEFINE_ENUM(DEVICE_AUTH_MODE, DEVICE_AUTH_MODE_VALUES);
+
+#define DEVICE_SEND_STATUS_VALUES \
+ DEVICE_SEND_STATUS_IDLE, \
+ DEVICE_SEND_STATUS_BUSY
+
+DEFINE_ENUM(DEVICE_SEND_STATUS, DEVICE_SEND_STATUS_VALUES);
-typedef enum DEVICE_SEND_STATUS_TAG
-{
- DEVICE_SEND_STATUS_IDLE,
- DEVICE_SEND_STATUS_BUSY
-} DEVICE_SEND_STATUS;
+#define D2C_EVENT_SEND_RESULT_VALUES \
+ D2C_EVENT_SEND_COMPLETE_RESULT_OK, \
+ D2C_EVENT_SEND_COMPLETE_RESULT_ERROR_CANNOT_PARSE, \
+ D2C_EVENT_SEND_COMPLETE_RESULT_ERROR_FAIL_SENDING, \
+ D2C_EVENT_SEND_COMPLETE_RESULT_ERROR_TIMEOUT, \
+ D2C_EVENT_SEND_COMPLETE_RESULT_DEVICE_DESTROYED, \
+ D2C_EVENT_SEND_COMPLETE_RESULT_ERROR_UNKNOWN
+
+DEFINE_ENUM(D2C_EVENT_SEND_RESULT, D2C_EVENT_SEND_RESULT_VALUES);
-typedef enum D2C_EVENT_SEND_RESULT_TAG
-{
- D2C_EVENT_SEND_COMPLETE_RESULT_OK,
- D2C_EVENT_SEND_COMPLETE_RESULT_ERROR_CANNOT_PARSE,
- D2C_EVENT_SEND_COMPLETE_RESULT_ERROR_FAIL_SENDING,
- D2C_EVENT_SEND_COMPLETE_RESULT_ERROR_TIMEOUT,
- D2C_EVENT_SEND_COMPLETE_RESULT_DEVICE_DESTROYED,
- D2C_EVENT_SEND_COMPLETE_RESULT_ERROR_UNKNOWN
-} D2C_EVENT_SEND_RESULT;
+#define DEVICE_MESSAGE_DISPOSITION_RESULT_VALUES \
+ DEVICE_MESSAGE_DISPOSITION_RESULT_NONE, \
+ DEVICE_MESSAGE_DISPOSITION_RESULT_ACCEPTED, \
+ DEVICE_MESSAGE_DISPOSITION_RESULT_REJECTED, \
+ DEVICE_MESSAGE_DISPOSITION_RESULT_RELEASED
+
+DEFINE_ENUM(DEVICE_MESSAGE_DISPOSITION_RESULT, DEVICE_MESSAGE_DISPOSITION_RESULT_VALUES);
-typedef enum DEVICE_MESSAGE_DISPOSITION_RESULT_TAG
-{
- DEVICE_MESSAGE_DISPOSITION_RESULT_NONE,
- DEVICE_MESSAGE_DISPOSITION_RESULT_ACCEPTED,
- DEVICE_MESSAGE_DISPOSITION_RESULT_REJECTED,
- DEVICE_MESSAGE_DISPOSITION_RESULT_RELEASED
-} DEVICE_MESSAGE_DISPOSITION_RESULT;
+#define DEVICE_TWIN_UPDATE_RESULT_STRINGS \
+ DEVICE_TWIN_UPDATE_RESULT_OK, \
+ DEVICE_TWIN_UPDATE_RESULT_ERROR
+
+DEFINE_ENUM(DEVICE_TWIN_UPDATE_RESULT, DEVICE_TWIN_UPDATE_RESULT_STRINGS);
+
+#define DEVICE_TWIN_UPDATE_TYPE_STRINGS \
+ DEVICE_TWIN_UPDATE_TYPE_PARTIAL, \
+ DEVICE_TWIN_UPDATE_TYPE_COMPLETE
+
+DEFINE_ENUM(DEVICE_TWIN_UPDATE_TYPE, DEVICE_TWIN_UPDATE_TYPE_STRINGS)
typedef struct DEVICE_MESSAGE_DISPOSITION_INFO_TAG
{
@@ -74,6 +86,8 @@
typedef void(*ON_DEVICE_STATE_CHANGED)(void* context, DEVICE_STATE previous_state, DEVICE_STATE new_state);
typedef DEVICE_MESSAGE_DISPOSITION_RESULT(*ON_DEVICE_C2D_MESSAGE_RECEIVED)(IOTHUB_MESSAGE_HANDLE message, DEVICE_MESSAGE_DISPOSITION_INFO* disposition_info, void* context);
typedef void(*ON_DEVICE_D2C_EVENT_SEND_COMPLETE)(IOTHUB_MESSAGE_LIST* message, D2C_EVENT_SEND_RESULT result, void* context);
+typedef void(*DEVICE_SEND_TWIN_UPDATE_COMPLETE_CALLBACK)(DEVICE_TWIN_UPDATE_RESULT result, int status_code, void* context);
+typedef void(*DEVICE_TWIN_UPDATE_RECEIVED_CALLBACK)(DEVICE_TWIN_UPDATE_TYPE update_type, const unsigned char* message, size_t length, void* context);
typedef struct DEVICE_CONFIG_TAG
{
@@ -97,6 +111,9 @@
MOCKABLE_FUNCTION(, int, device_stop, DEVICE_HANDLE, handle);
MOCKABLE_FUNCTION(, void, device_do_work, DEVICE_HANDLE, handle);
MOCKABLE_FUNCTION(, int, device_send_event_async, DEVICE_HANDLE, handle, IOTHUB_MESSAGE_LIST*, message, ON_DEVICE_D2C_EVENT_SEND_COMPLETE, on_device_d2c_event_send_complete_callback, void*, context);
+MOCKABLE_FUNCTION(, int, device_send_twin_update_async, DEVICE_HANDLE, handle, CONSTBUFFER_HANDLE, data, DEVICE_SEND_TWIN_UPDATE_COMPLETE_CALLBACK, on_send_twin_update_complete_callback, void*, context);
+MOCKABLE_FUNCTION(, int, device_subscribe_for_twin_updates, DEVICE_HANDLE, handle, DEVICE_TWIN_UPDATE_RECEIVED_CALLBACK, on_device_twin_update_received_callback, void*, context);
+MOCKABLE_FUNCTION(, int, device_unsubscribe_for_twin_updates, DEVICE_HANDLE, handle);
MOCKABLE_FUNCTION(, int, device_get_send_status, DEVICE_HANDLE, handle, DEVICE_SEND_STATUS*, send_status);
MOCKABLE_FUNCTION(, int, device_subscribe_message, DEVICE_HANDLE, handle, ON_DEVICE_C2D_MESSAGE_RECEIVED, on_message_received_callback, void*, context);
MOCKABLE_FUNCTION(, int, device_unsubscribe_message, DEVICE_HANDLE, handle);
