Xin Zhang / azure-iot-c-sdk-f767zi

Dependents:   samplemqtt

Committer:
XinZhangMS
Date:
Thu Aug 23 06:52:14 2018 +0000
Revision:
0:f7f1f0d76dd6
azure-c-sdk for mbed os supporting NUCLEO_F767ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
XinZhangMS 0:f7f1f0d76dd6 1 // Copyright (c) Microsoft. All rights reserved.
XinZhangMS 0:f7f1f0d76dd6 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
XinZhangMS 0:f7f1f0d76dd6 3
XinZhangMS 0:f7f1f0d76dd6 4 #ifndef IOTHUB_TRANSPORT_H
XinZhangMS 0:f7f1f0d76dd6 5 #define IOTHUB_TRANSPORT_H
XinZhangMS 0:f7f1f0d76dd6 6
XinZhangMS 0:f7f1f0d76dd6 7 #include "azure_c_shared_utility/lock.h"
XinZhangMS 0:f7f1f0d76dd6 8 #include "azure_c_shared_utility/crt_abstractions.h"
XinZhangMS 0:f7f1f0d76dd6 9 #include "iothub_transport_ll.h"
XinZhangMS 0:f7f1f0d76dd6 10 #include "iothub_client_core.h"
XinZhangMS 0:f7f1f0d76dd6 11 #include "internal/iothub_client_private.h"
XinZhangMS 0:f7f1f0d76dd6 12 #include "internal/iothub_transport_ll_private.h"
XinZhangMS 0:f7f1f0d76dd6 13 #include "iothub_client_authorization.h"
XinZhangMS 0:f7f1f0d76dd6 14
XinZhangMS 0:f7f1f0d76dd6 15 #ifndef IOTHUB_CLIENT_CORE_INSTANCE_TYPE
XinZhangMS 0:f7f1f0d76dd6 16 typedef struct IOTHUB_CLIENT_CORE_INSTANCE_TAG* IOTHUB_CLIENT_CORE_HANDLE;
XinZhangMS 0:f7f1f0d76dd6 17 #define IOTHUB_CLIENT_CORE_INSTANCE_TYPE
XinZhangMS 0:f7f1f0d76dd6 18 #endif // IOTHUB_CLIENT_CORE_INSTANCE
XinZhangMS 0:f7f1f0d76dd6 19
XinZhangMS 0:f7f1f0d76dd6 20 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 21 extern "C"
XinZhangMS 0:f7f1f0d76dd6 22 {
XinZhangMS 0:f7f1f0d76dd6 23 #else
XinZhangMS 0:f7f1f0d76dd6 24 #include <stdbool.h>
XinZhangMS 0:f7f1f0d76dd6 25 #endif
XinZhangMS 0:f7f1f0d76dd6 26
XinZhangMS 0:f7f1f0d76dd6 27 #include "azure_c_shared_utility/umock_c_prod.h"
XinZhangMS 0:f7f1f0d76dd6 28
XinZhangMS 0:f7f1f0d76dd6 29 /** @brief This struct captures IoTHub transport configuration. */
XinZhangMS 0:f7f1f0d76dd6 30 struct IOTHUBTRANSPORT_CONFIG_TAG
XinZhangMS 0:f7f1f0d76dd6 31 {
XinZhangMS 0:f7f1f0d76dd6 32 const IOTHUB_CLIENT_CONFIG* upperConfig;
XinZhangMS 0:f7f1f0d76dd6 33 PDLIST_ENTRY waitingToSend;
XinZhangMS 0:f7f1f0d76dd6 34 IOTHUB_AUTHORIZATION_HANDLE auth_module_handle;
XinZhangMS 0:f7f1f0d76dd6 35 const char* moduleId;
XinZhangMS 0:f7f1f0d76dd6 36 };
XinZhangMS 0:f7f1f0d76dd6 37
XinZhangMS 0:f7f1f0d76dd6 38 typedef void(*IOTHUB_CLIENT_MULTIPLEXED_DO_WORK)(void* iotHubClientInstance);
XinZhangMS 0:f7f1f0d76dd6 39
XinZhangMS 0:f7f1f0d76dd6 40 MOCKABLE_FUNCTION(, LOCK_HANDLE, IoTHubTransport_GetLock, TRANSPORT_HANDLE, transportHandle);
XinZhangMS 0:f7f1f0d76dd6 41 MOCKABLE_FUNCTION(, IOTHUB_CLIENT_RESULT, IoTHubTransport_StartWorkerThread, TRANSPORT_HANDLE, transportHandle, IOTHUB_CLIENT_CORE_HANDLE, clientHandle, IOTHUB_CLIENT_MULTIPLEXED_DO_WORK, muxDoWork);
XinZhangMS 0:f7f1f0d76dd6 42 MOCKABLE_FUNCTION(, bool, IoTHubTransport_SignalEndWorkerThread, TRANSPORT_HANDLE, transportHandle, IOTHUB_CLIENT_CORE_HANDLE, clientHandle);
XinZhangMS 0:f7f1f0d76dd6 43 MOCKABLE_FUNCTION(, void, IoTHubTransport_JoinWorkerThread, TRANSPORT_HANDLE, transportHandle, IOTHUB_CLIENT_CORE_HANDLE, clientHandle);
XinZhangMS 0:f7f1f0d76dd6 44
XinZhangMS 0:f7f1f0d76dd6 45 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 46 }
XinZhangMS 0:f7f1f0d76dd6 47 #endif
XinZhangMS 0:f7f1f0d76dd6 48
XinZhangMS 0:f7f1f0d76dd6 49 #endif /* IOTHUB_TRANSPORT_H */
XinZhangMS 0:f7f1f0d76dd6 50