include/ControlDataCommon.h
include/ControlDataCommon.h File Reference
Namespaces
| Name |
|---|
| Acl |
| Acl::ControlDataCommon |
Classes
| Name | |
|---|---|
| struct | Acl::ControlDataCommon::Response A response from a ControlDataReceiver to a request. The UUID tells which receiver the response is sent from. |
| struct | Acl::ControlDataCommon::StatusMessage A status message from a ControlDataReceiver. The UUID tells which receiver the message is sent from. |
| struct | Acl::ControlDataCommon::ConnectionEvent A connection related event. |
| struct | fmt::formatter< Acl::ControlDataCommon::EventType > |
Source code
// Copyright (c) 2024, Ateliere. All rights reserved.
#pragma once
#include <cstdint>
#include <string>
#include <vector>
#include "ControlDataAddress.h"
#include "UUID.h"
namespace Acl::ControlDataCommon {
struct Response {
std::string mMessage;
uint64_t mRequestId = 0;
UUID mFromUUID;
ControlDataAddress mRecipient;
};
struct StatusMessage {
std::string mMessage;
UUID mFromUUID;
ControlDataAddress mRecipient;
};
enum class EventType : uint8_t {
kDisconnect,
kConnect
};
struct ConnectionEvent {
EventType mEventType = EventType::kDisconnect;
ControlDataAddress mAddress;
UUID mEventNode;
};
} // namespace Acl::ControlDataCommon
template <> struct fmt::formatter<Acl::ControlDataCommon::EventType> : formatter<std::string> {
template <typename FormatContext> auto format(const Acl::ControlDataCommon::EventType type, FormatContext& ctx) {
std::string value;
switch (type) {
case Acl::ControlDataCommon::EventType::kDisconnect:
value = "disconnect";
break;
case Acl::ControlDataCommon::EventType::kConnect:
value = "connect";
break;
}
return formatter<std::string>::format(value, ctx);
}
};