libicsneo/include/icsneo/communication/message/tc10statusmessage.h

41 lines
825 B
C++

#ifndef __TC10STATUSMESSAGE_H
#define __TC10STATUSMESSAGE_H
#ifdef __cplusplus
#include "icsneo/communication/message/message.h"
#include <memory>
namespace icsneo
{
enum class TC10WakeStatus : uint8_t {
NoWakeReceived,
WakeReceived,
};
enum class TC10SleepStatus : uint8_t {
NoSleepReceived,
SleepReceived,
SleepFailed,
SleepAborted,
};
class TC10StatusMessage : public Message {
public:
static std::shared_ptr<TC10StatusMessage> DecodeToMessage(const std::vector<uint8_t>& bytestream);
TC10StatusMessage(const TC10WakeStatus& wakeStatus, const TC10SleepStatus& sleepStatus) :
Message(Type::TC10Status), wakeStatus(wakeStatus), sleepStatus(sleepStatus) {}
const TC10WakeStatus wakeStatus;
const TC10SleepStatus sleepStatus;
};
}
#endif // __cplusplus
#endif