corrected version (with typedef struct IOTHUB_CLIENT_LL_UPLOADTOBLOB_HANDLE_DATA* IOTHUB_CLIENT_LL_UPLOADTOBLOB_HANDLE;) included in the sources
Dependents: STM32F746_iothub_client_sample_mqtt
Fork of iothub_client by
Diff: iothub_client_ll.h
- Revision:
- 36:67300d5a4c1f
- Parent:
- 34:578a1a3636cc
- Child:
- 37:18310e4d888d
diff -r ceed20da4ba6 -r 67300d5a4c1f iothub_client_ll.h --- a/iothub_client_ll.h Tue Feb 16 14:24:56 2016 -0800 +++ b/iothub_client_ll.h Fri Mar 11 17:00:59 2016 -0800 @@ -50,6 +50,7 @@ #define IOTHUB_CLIENT_CONFIRMATION_RESULT_VALUES \ IOTHUB_CLIENT_CONFIRMATION_OK, \ IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY, \ + IOTHUB_CLIENT_CONFIRMATION_MESSAGE_TIMEOUT, \ IOTHUB_CLIENT_CONFIRMATION_ERROR \ /** @brief Enumeration passed in by the IoT Hub when the event confirmation @@ -92,10 +93,9 @@ typedef struct IOTHUB_CLIENT_CONFIG_TAG { /** @brief A function pointer that is passed into the @c IoTHubClientCreate. - * A function definition for AMQP, @c DeviceClientProvideAmqpResources, - * is defined in the include @c iothubtransportamqp.h. A function - * definition for HTTP, @c DeviceClientProvideHttpResources, is defined - * in the include @c iothubtransporthttp.h */ + * A function definition for AMQP is defined in the include @c iothubtransportamqp.h. + * A function definition for HTTP is defined in the include @c iothubtransporthttp.h + * A function definition for MQTT is defined in the include @c iothubtransportmqtt.h */ IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol; /** @brief A string that identifies the device. */ @@ -113,6 +113,26 @@ const char* protocolGatewayHostName; } IOTHUB_CLIENT_CONFIG; +/** @brief This struct captures IoTHub client device configuration. */ +typedef struct IOTHUB_CLIENT_DEVICE_CONFIG_TAG +{ + /** @brief A function pointer that is passed into the @c IoTHubClientCreate. + * A function definition for AMQP is defined in the include @c iothubtransportamqp.h. + * A function definition for HTTP is defined in the include @c iothubtransporthttp.h + * A function definition for MQTT is defined in the include @c iothubtransportmqtt.h */ + IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol; + + /** @brief a transport handle implementing the protocol */ + void * transportHandle; + + /** @brief A string that identifies the device. */ + const char* deviceId; + + /** @brief The device key used to authenticate the device. */ + const char* deviceKey; + +} IOTHUB_CLIENT_DEVICE_CONFIG; + /** * @brief Creates a IoT Hub client for communication with an existing * IoT Hub using the specified connection string parameter. @@ -145,6 +165,20 @@ extern IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_Create(const IOTHUB_CLIENT_CONFIG* config); /** +* @brief Creates a IoT Hub client for communication with an existing IoT +* Hub using an existing transport. +* +* @param config Pointer to an @c IOTHUB_CLIENT_DEVICE_CONFIG structure +* +* The API *allows* sharing of a connection across multiple +* devices. This is a blocking call. +* +* @return A non-NULL @c IOTHUB_CLIENT_LL_HANDLE value that is used when +* invoking other functions for IoT Hub client and @c NULL on failure. +*/ +extern IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateWithTransport(const IOTHUB_CLIENT_DEVICE_CONFIG * config); + +/** * @brief Disposes of resources allocated by the IoT Hub client. This is a * blocking call. * @@ -264,7 +298,11 @@ * - @b CURLOPT_VERBOSE - only available for HTTP protocol and only * when CURL is used. It has the same meaning as CURL's option with the same * name. @p value is pointer to a long. - * + * - @b keepalive - available for MQTT protocol. Integer value that sets the + * interval in seconds when pings are sent to the server. + * - @b logtrace - available for MQTT protocol. Boolean value that turns on and + * off the diagnostic logging. + * * @return IOTHUB_CLIENT_OK upon success or an error code upon failure. */ extern IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetOption(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, const char* optionName, const void* value);