/
pi_coder
/
ByteMachine
Обзор
Документация
Войти
/
pi_coder
/
ByteMachine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/connect_states.h
67 строк
3 KB
pimenov-and
Добавлено перечисление, описывающее состояния подключений узлов
10 июл 2026, 00:25
10 июл 2026, 00:25
df086de
Код
Авторство
О чём код?
//////////////////////////////////////////////////////////////// // ByteMachine // Состояния подключения //////////////////////////////////////////////////////////////// #ifndef CONNECT_STATES_H #define CONNECT_STATES_H //============================================================== #include <QString> #include <QMetaType> #include <array> //============================================================== // Состояние подключения //============================================================== enum class ConnectStates { Unknown = -1, Connect, Disconnect }; //============================================================== Q_DECLARE_METATYPE(ConnectStates) //============================================================== // Прототипы функций //============================================================== // Конвертация состояния подключения в виде строки [[nodiscard]] QString connectStateToStr(ConnectStates state); // Конвертация состояния подключения из строки [[nodiscard]] ConnectStates strToConnectState(const QString &str); // Конвертация состояния подключения в число [[nodiscard]] inline qint32 connectStateToInt(ConnectStates state) noexcept { return static_cast<qint32>(state); } // Конвертация числа в состояние подключения [[nodiscard]] ConnectStates intToConnectState(qint32 value) noexcept; // Конвертация состояния подключения в индекс [[nodiscard]] qint32 connectStateToIndex(ConnectStates state) noexcept; // Конвертация индекса в состояние подключения [[nodiscard]] ConnectStates indexToConnectState(qint32 index); // Получение признака ConnectStates::Unknown [[nodiscard]] constexpr inline bool isUnknown(ConnectStates state) noexcept { return state == ConnectStates::Unknown; } // Получение признака ConnectStates::Connect [[nodiscard]] constexpr inline bool isConnect(ConnectStates state) noexcept { return state == ConnectStates::Connect; } // Получение признака ConnectStates::Disconnect [[nodiscard]] constexpr inline bool isDisconnect(ConnectStates state) noexcept { return state == ConnectStates::Disconnect; } // Получение значений состояний подключения [[nodiscard]] std::array<ConnectStates, 3> connectStateValues(); // Проверка корректности значения состояния подключения [[nodiscard]] bool isCorrect(ConnectStates state); // Получение количества состояний подключения [[nodiscard]] constexpr qint32 getConnectStateCount() noexcept { return 3; } //============================================================== #endif // CONNECT_STATES_H