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.
iothub_client/src/iothub_module_client.c@0:f7f1f0d76dd6, 2018-08-23 (annotated)
- 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?
User | Revision | Line number | New 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 | #include <stdlib.h> |
XinZhangMS | 0:f7f1f0d76dd6 | 5 | #include "azure_c_shared_utility/umock_c_prod.h" |
XinZhangMS | 0:f7f1f0d76dd6 | 6 | #include "azure_c_shared_utility/gballoc.h" |
XinZhangMS | 0:f7f1f0d76dd6 | 7 | #include "azure_c_shared_utility/xlogging.h" |
XinZhangMS | 0:f7f1f0d76dd6 | 8 | |
XinZhangMS | 0:f7f1f0d76dd6 | 9 | #include "iothub_client_core.h" |
XinZhangMS | 0:f7f1f0d76dd6 | 10 | #include "iothub_module_client.h" |
XinZhangMS | 0:f7f1f0d76dd6 | 11 | |
XinZhangMS | 0:f7f1f0d76dd6 | 12 | IOTHUB_MODULE_CLIENT_HANDLE IoTHubModuleClient_CreateFromConnectionString(const char* connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol) |
XinZhangMS | 0:f7f1f0d76dd6 | 13 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 14 | return (IOTHUB_MODULE_CLIENT_HANDLE)IoTHubClientCore_CreateFromConnectionString(connectionString, protocol); |
XinZhangMS | 0:f7f1f0d76dd6 | 15 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 16 | |
XinZhangMS | 0:f7f1f0d76dd6 | 17 | void IoTHubModuleClient_Destroy(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle) |
XinZhangMS | 0:f7f1f0d76dd6 | 18 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 19 | IoTHubClientCore_Destroy((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle); |
XinZhangMS | 0:f7f1f0d76dd6 | 20 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 21 | |
XinZhangMS | 0:f7f1f0d76dd6 | 22 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SendEventAsync(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void* userContextCallback) |
XinZhangMS | 0:f7f1f0d76dd6 | 23 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 24 | return IoTHubClientCore_SendEventAsync((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, eventMessageHandle, eventConfirmationCallback, userContextCallback); |
XinZhangMS | 0:f7f1f0d76dd6 | 25 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 26 | |
XinZhangMS | 0:f7f1f0d76dd6 | 27 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_GetSendStatus(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus) |
XinZhangMS | 0:f7f1f0d76dd6 | 28 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 29 | return IoTHubClientCore_GetSendStatus((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, iotHubClientStatus); |
XinZhangMS | 0:f7f1f0d76dd6 | 30 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 31 | |
XinZhangMS | 0:f7f1f0d76dd6 | 32 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SetMessageCallback(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void* userContextCallback) |
XinZhangMS | 0:f7f1f0d76dd6 | 33 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 34 | return IoTHubClientCore_SetInputMessageCallback((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, NULL, messageCallback, userContextCallback);} |
XinZhangMS | 0:f7f1f0d76dd6 | 35 | |
XinZhangMS | 0:f7f1f0d76dd6 | 36 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SetConnectionStatusCallback(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, IOTHUB_CLIENT_CONNECTION_STATUS_CALLBACK connectionStatusCallback, void * userContextCallback) |
XinZhangMS | 0:f7f1f0d76dd6 | 37 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 38 | return IoTHubClientCore_SetConnectionStatusCallback((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, connectionStatusCallback, userContextCallback); |
XinZhangMS | 0:f7f1f0d76dd6 | 39 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 40 | |
XinZhangMS | 0:f7f1f0d76dd6 | 41 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SetRetryPolicy(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, IOTHUB_CLIENT_RETRY_POLICY retryPolicy, size_t retryTimeoutLimitInSeconds) |
XinZhangMS | 0:f7f1f0d76dd6 | 42 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 43 | return IoTHubClientCore_SetRetryPolicy((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, retryPolicy, retryTimeoutLimitInSeconds); |
XinZhangMS | 0:f7f1f0d76dd6 | 44 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 45 | |
XinZhangMS | 0:f7f1f0d76dd6 | 46 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_GetRetryPolicy(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, IOTHUB_CLIENT_RETRY_POLICY* retryPolicy, size_t* retryTimeoutLimitInSeconds) |
XinZhangMS | 0:f7f1f0d76dd6 | 47 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 48 | return IoTHubClientCore_GetRetryPolicy((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, retryPolicy, retryTimeoutLimitInSeconds); |
XinZhangMS | 0:f7f1f0d76dd6 | 49 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 50 | |
XinZhangMS | 0:f7f1f0d76dd6 | 51 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_GetLastMessageReceiveTime(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, time_t* lastMessageReceiveTime) |
XinZhangMS | 0:f7f1f0d76dd6 | 52 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 53 | return IoTHubClientCore_GetLastMessageReceiveTime((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, lastMessageReceiveTime); |
XinZhangMS | 0:f7f1f0d76dd6 | 54 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 55 | |
XinZhangMS | 0:f7f1f0d76dd6 | 56 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SetOption(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, const char* optionName, const void* value) |
XinZhangMS | 0:f7f1f0d76dd6 | 57 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 58 | return IoTHubClientCore_SetOption((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, optionName, value); |
XinZhangMS | 0:f7f1f0d76dd6 | 59 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 60 | |
XinZhangMS | 0:f7f1f0d76dd6 | 61 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SetModuleTwinCallback(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, IOTHUB_CLIENT_DEVICE_TWIN_CALLBACK moduleTwinCallback, void* userContextCallback) |
XinZhangMS | 0:f7f1f0d76dd6 | 62 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 63 | return IoTHubClientCore_SetDeviceTwinCallback((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, moduleTwinCallback, userContextCallback); |
XinZhangMS | 0:f7f1f0d76dd6 | 64 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 65 | |
XinZhangMS | 0:f7f1f0d76dd6 | 66 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SendReportedState(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, const unsigned char* reportedState, size_t size, IOTHUB_CLIENT_REPORTED_STATE_CALLBACK reportedStateCallback, void* userContextCallback) |
XinZhangMS | 0:f7f1f0d76dd6 | 67 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 68 | return IoTHubClientCore_SendReportedState((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, reportedState, size, reportedStateCallback, userContextCallback); |
XinZhangMS | 0:f7f1f0d76dd6 | 69 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 70 | |
XinZhangMS | 0:f7f1f0d76dd6 | 71 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SetModuleMethodCallback(IOTHUB_MODULE_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_DEVICE_METHOD_CALLBACK_ASYNC methodCallback, void* userContextCallback) |
XinZhangMS | 0:f7f1f0d76dd6 | 72 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 73 | return IoTHubClientCore_SetDeviceMethodCallback((IOTHUB_CLIENT_CORE_HANDLE)iotHubClientHandle, (IOTHUB_CLIENT_DEVICE_METHOD_CALLBACK_ASYNC)methodCallback, userContextCallback); |
XinZhangMS | 0:f7f1f0d76dd6 | 74 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 75 | |
XinZhangMS | 0:f7f1f0d76dd6 | 76 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SendEventToOutputAsync(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, const char* outputName, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void* userContextCallback) |
XinZhangMS | 0:f7f1f0d76dd6 | 77 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 78 | return IoTHubClientCore_SendEventToOutputAsync((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, eventMessageHandle, outputName, eventConfirmationCallback, userContextCallback); |
XinZhangMS | 0:f7f1f0d76dd6 | 79 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 80 | |
XinZhangMS | 0:f7f1f0d76dd6 | 81 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_SetInputMessageCallback(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, const char* inputName, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC eventHandlerCallback, void* userContextCallback) |
XinZhangMS | 0:f7f1f0d76dd6 | 82 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 83 | return IoTHubClientCore_SetInputMessageCallback((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, inputName, eventHandlerCallback, userContextCallback); |
XinZhangMS | 0:f7f1f0d76dd6 | 84 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 85 | |
XinZhangMS | 0:f7f1f0d76dd6 | 86 | #ifdef USE_EDGE_MODULES |
XinZhangMS | 0:f7f1f0d76dd6 | 87 | |
XinZhangMS | 0:f7f1f0d76dd6 | 88 | IOTHUB_MODULE_CLIENT_HANDLE IoTHubModuleClient_CreateFromEnvironment(IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol) |
XinZhangMS | 0:f7f1f0d76dd6 | 89 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 90 | return IoTHubClientCore_CreateFromEnvironment(protocol); |
XinZhangMS | 0:f7f1f0d76dd6 | 91 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 92 | |
XinZhangMS | 0:f7f1f0d76dd6 | 93 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_DeviceMethodInvokeAsync(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, const char* deviceId, const char* methodName, const char* methodPayload, unsigned int timeout, IOTHUB_METHOD_INVOKE_CALLBACK methodInvokeCallback, void* context) |
XinZhangMS | 0:f7f1f0d76dd6 | 94 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 95 | IOTHUB_CLIENT_RESULT result; |
XinZhangMS | 0:f7f1f0d76dd6 | 96 | |
XinZhangMS | 0:f7f1f0d76dd6 | 97 | if ((iotHubModuleClientHandle == NULL) || (deviceId == NULL) || (methodName == NULL) || (methodPayload == NULL)) |
XinZhangMS | 0:f7f1f0d76dd6 | 98 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 99 | LogError("Argument cannot be NULL"); |
XinZhangMS | 0:f7f1f0d76dd6 | 100 | result = IOTHUB_CLIENT_INVALID_ARG; |
XinZhangMS | 0:f7f1f0d76dd6 | 101 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 102 | else |
XinZhangMS | 0:f7f1f0d76dd6 | 103 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 104 | result = IoTHubClientCore_GenericMethodInvoke((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, deviceId, NULL, methodName, methodPayload, timeout, methodInvokeCallback, context); |
XinZhangMS | 0:f7f1f0d76dd6 | 105 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 106 | return result; |
XinZhangMS | 0:f7f1f0d76dd6 | 107 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 108 | |
XinZhangMS | 0:f7f1f0d76dd6 | 109 | IOTHUB_CLIENT_RESULT IoTHubModuleClient_ModuleMethodInvokeAsync(IOTHUB_MODULE_CLIENT_HANDLE iotHubModuleClientHandle, const char* deviceId, const char* moduleId, const char* methodName, const char* methodPayload, unsigned int timeout, IOTHUB_METHOD_INVOKE_CALLBACK methodInvokeCallback, void* context) |
XinZhangMS | 0:f7f1f0d76dd6 | 110 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 111 | IOTHUB_CLIENT_RESULT result; |
XinZhangMS | 0:f7f1f0d76dd6 | 112 | |
XinZhangMS | 0:f7f1f0d76dd6 | 113 | if ((iotHubModuleClientHandle == NULL) || (deviceId == NULL) || (moduleId == NULL) || (methodName == NULL) || (methodPayload == NULL)) |
XinZhangMS | 0:f7f1f0d76dd6 | 114 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 115 | LogError("Argument cannot be NULL"); |
XinZhangMS | 0:f7f1f0d76dd6 | 116 | result = IOTHUB_CLIENT_INVALID_ARG; |
XinZhangMS | 0:f7f1f0d76dd6 | 117 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 118 | else |
XinZhangMS | 0:f7f1f0d76dd6 | 119 | { |
XinZhangMS | 0:f7f1f0d76dd6 | 120 | result = IoTHubClientCore_GenericMethodInvoke((IOTHUB_CLIENT_CORE_HANDLE)iotHubModuleClientHandle, deviceId, moduleId, methodName, methodPayload, timeout, methodInvokeCallback, context); |
XinZhangMS | 0:f7f1f0d76dd6 | 121 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 122 | return result; |
XinZhangMS | 0:f7f1f0d76dd6 | 123 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 124 | |
XinZhangMS | 0:f7f1f0d76dd6 | 125 | #endif /*USE_EDGE_MODULES*/ |
XinZhangMS | 0:f7f1f0d76dd6 | 126 |