summaryrefslogtreecommitdiff
path: root/src/KingSystem/Utils/Thread/MessageAck.h
blob: e147ca26b2f3ec0996d24d684dc9832661d6cfaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

namespace ksys {

struct MesTransceiverId;
struct MessageType;

class MessageAck {
public:
    MessageAck(bool dest_valid, bool success, const MesTransceiverId& destination,
               const MessageType& type, void* user_data);
    virtual ~MessageAck();

    virtual bool isDestinationValid() const;
    virtual bool isSuccess() const;
    virtual const MesTransceiverId& getDestination() const;
    virtual const MessageType& getType() const;
    virtual void* getUserData() const;

private:
    bool mDestValid{};
    bool mSuccess{};
    const MesTransceiverId& mDestination;
    const MessageType& mType;
    void* mUserData{};
};

}  // namespace ksys