diff options
| author | Léo Lam <leo@leolam.fr> | 2021-02-05 01:20:18 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2021-02-05 02:03:41 +0100 |
| commit | f861dcaec31d9a63934d741e9f4b02109d973564 (patch) | |
| tree | 06571fa44f8ef8317ae81e5a2cecdc6be0a17477 /src/KingSystem/Utils/Thread/MessageTransceiverTxOnly.cpp | |
| parent | 96612361e6365d8eb731d5f485756b0fb7bcf35a (diff) | |
ksys: Add MessageTransceiverTxOnly
Diffstat (limited to 'src/KingSystem/Utils/Thread/MessageTransceiverTxOnly.cpp')
| -rw-r--r-- | src/KingSystem/Utils/Thread/MessageTransceiverTxOnly.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/KingSystem/Utils/Thread/MessageTransceiverTxOnly.cpp b/src/KingSystem/Utils/Thread/MessageTransceiverTxOnly.cpp new file mode 100644 index 00000000..7cbd11b9 --- /dev/null +++ b/src/KingSystem/Utils/Thread/MessageTransceiverTxOnly.cpp @@ -0,0 +1,46 @@ +#include "KingSystem/Utils/Thread/MessageTransceiverTxOnly.h" +#include "KingSystem/Utils/Thread/MessageTransceiverCommon.h" + +namespace ksys { + +MessageTransceiverTxOnly::MessageTransceiverTxOnly(IHandler& handler) : mReceiver(handler) { + registerReceiver(mReceiver); +} + +MessageTransceiverTxOnly::~MessageTransceiverTxOnly() { + deregisterReceiver(mReceiver); +} + +MessageReceiverEx* MessageTransceiverTxOnly::getReceiver() { + return &mReceiver; +} + +bool MessageTransceiverTxOnly::sendMessage(const MesTransceiverId& dest, const MessageType& type, + void* user_data, bool ack) { + return sendMessageImpl(this, dest, type, user_data, ack); +} + +bool MessageTransceiverTxOnly::sendMessageOnProcessingThread(const MesTransceiverId& dest, + const MessageType& type, + void* user_data, bool ack) { + return sendMessageOnProcessingThreadImpl(this, dest, type, user_data, ack); +} + +bool MessageTransceiverTxOnly::sendMessage(IMessageBroker& broker, const MessageType& type, + void* user_data, bool ack) { + return sendMessageImpl(this, broker, type, user_data, ack); +} + +bool MessageTransceiverTxOnly::sendMessageOnProcessingThread(IMessageBroker& broker, + const MessageType& type, + void* user_data, bool ack) { + return sendMessageOnProcessingThreadImpl(this, broker, type, user_data, ack); +} + +MessageTransceiverTxOnly::Receiver::~Receiver() = default; + +void MessageTransceiverTxOnly::Receiver::handleAck(const MessageAck& ack) { + mHandler.handleAck(ack); +} + +} // namespace ksys |
