1 /* 2 * coreMQTT Agent v1.1.0 3 * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 * this software and associated documentation files (the "Software"), to deal in 7 * the Software without restriction, including without limitation the rights to 8 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 * the Software, and to permit persons to whom the Software is furnished to do so, 10 * subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be included in all 13 * copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 */ 22 23 /** 24 * @file agent_message_stubs.h 25 * @brief Stub functions to interact with queues. 26 */ 27 #ifndef AGENT_MESSAGE_STUBS_H 28 #define AGENT_MESSAGE_STUBS_H 29 30 #include <stddef.h> 31 #include <stdint.h> 32 #include <stdbool.h> 33 34 /* core_mqtt_agent.h must precede including this header. */ 35 36 /** 37 * @brief Send a message to the specified context. 38 * 39 * @param[in] pMsgCtx An #MQTTAgentMessageContext_t. 40 * @param[in] pData Pointer to element to send to queue. 41 * @param[in] blockTimeMs Block time to wait for a send. 42 * 43 * @return `true` if send was successful, else `false`. 44 */ 45 bool AgentMessageSendStub( MQTTAgentMessageContext_t * pMsgCtx, 46 const void * pData, 47 uint32_t blockTimeMs ); 48 49 /** 50 * @brief Receive a message from the specified context. 51 * Must be thread safe. 52 * 53 * @param[in] pMsgCtx An #MQTTAgentMessageContext_t. 54 * @param[in] pBuffer Pointer to buffer to write received data. 55 * @param[in] blockTimeMs Block time to wait for a receive. 56 * 57 * @return `true` if receive was successful, else `false`. 58 */ 59 bool AgentMessageRecvStub( MQTTAgentMessageContext_t * pMsgCtx, 60 void * pBuffer, 61 uint32_t blockTimeMs ); 62 63 #endif /* AGENT_MESSAGE_STUBS_H */ 64