add doxygen via opencode
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
/*! \file picloudbase.h
|
||||
* \ingroup Cloud
|
||||
* \~\brief
|
||||
* \~english Base class for PICloudClient and PICloudServer
|
||||
* \~russian Базовый класс для PICloudClient и PICloudServer
|
||||
*/
|
||||
//! \file picloudbase.h
|
||||
//! \ingroup Cloud
|
||||
//! \brief
|
||||
//! \~english Base class for PICloudClient and PICloudServer
|
||||
//! \~russian Базовый класс для PICloudClient и PICloudServer
|
||||
//! \details
|
||||
//! \~english Provides common functionality for cloud client and server implementations.
|
||||
//! \~russian Обеспечивает общую функциональность для реализаций облачного клиента и сервера.
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
PICloud Base - Base class for PICloudClient and PICloud Server
|
||||
@@ -31,10 +33,20 @@
|
||||
#include "pistreampacker.h"
|
||||
|
||||
|
||||
//! \brief
|
||||
//! \~english Base class for cloud client and server
|
||||
//! \~russian Базовый класс для облачного клиента и сервера
|
||||
|
||||
class PIP_CLOUD_EXPORT PICloudBase {
|
||||
public:
|
||||
//! \brief
|
||||
//! \~english Constructs PICloudBase
|
||||
//! \~russian Создает PICloudBase
|
||||
PICloudBase();
|
||||
|
||||
//! \brief
|
||||
//! \~english Returns server name
|
||||
//! \~russian Возвращает имя сервера
|
||||
PIString serverName() const;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
/*! \file picloudclient.h
|
||||
* \ingroup Cloud
|
||||
* \~\brief
|
||||
* \~english PICloud Client
|
||||
* \~russian Клиент PICloud
|
||||
*/
|
||||
//! \file picloudclient.h
|
||||
//! \ingroup Cloud
|
||||
//! \brief
|
||||
//! \~english PICloud Client
|
||||
//! \~russian Клиент PICloud
|
||||
//! \details
|
||||
//! \~english Client implementation for connecting to PICloud servers over TCP.
|
||||
//! \~russian Реализация клиента для подключения к серверам PICloud по TCP.
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
PICloud Client
|
||||
@@ -30,7 +32,9 @@
|
||||
#include "piconditionvar.h"
|
||||
|
||||
|
||||
//! \brief PICloudClient
|
||||
//! \brief PICloud client implementation
|
||||
//! \~english PICloud client for connecting to servers
|
||||
//! \~russian Клиент PICloud для подключения к серверам
|
||||
|
||||
class PIP_CLOUD_EXPORT PICloudClient
|
||||
: public PIIODevice
|
||||
@@ -38,23 +42,75 @@ class PIP_CLOUD_EXPORT PICloudClient
|
||||
PIIODEVICE(PICloudClient, "");
|
||||
|
||||
public:
|
||||
//! \brief
|
||||
//! \~english Constructs PICloudClient
|
||||
//! \~russian Создает PICloudClient
|
||||
explicit PICloudClient(const PIString & path = PIString(), PIIODevice::DeviceMode mode = PIIODevice::ReadWrite);
|
||||
|
||||
//! \brief
|
||||
//! \~english Destructor
|
||||
//! \~russian Деструктор
|
||||
virtual ~PICloudClient();
|
||||
|
||||
//! \brief
|
||||
//! \~english Sets server name
|
||||
//! \~russian Устанавливает имя сервера
|
||||
void setServerName(const PIString & server_name);
|
||||
|
||||
//! \brief
|
||||
//! \~english Sets keep connection mode
|
||||
//! \~russian Устанавливает режим поддержания соединения
|
||||
void setKeepConnection(bool on);
|
||||
|
||||
//! \brief
|
||||
//! \~english Checks if connected to server
|
||||
//! \~russian Проверяет подключение к серверу
|
||||
bool isConnected() const { return is_connected; }
|
||||
|
||||
//! \brief
|
||||
//! \~english Returns number of bytes available
|
||||
//! \~russian Возвращает количество доступных байт
|
||||
ssize_t bytesAvailable() const override { return buff.size(); }
|
||||
|
||||
//! \brief
|
||||
//! \~english Interrupts connection
|
||||
//! \~russian Прерывает соединение
|
||||
void interrupt() override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Raised when connected to server
|
||||
//! \~russian Вызывается при подключении к серверу
|
||||
EVENT(connected);
|
||||
|
||||
//! \brief
|
||||
//! \~english Raised when disconnected from server
|
||||
//! \~russian Вызывается при отключении от сервера
|
||||
EVENT(disconnected);
|
||||
|
||||
protected:
|
||||
//! \brief
|
||||
//! \~english Opens device
|
||||
//! \~russian Открывает устройство
|
||||
bool openDevice() override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Closes device
|
||||
//! \~russian Закрывает устройство
|
||||
bool closeDevice() override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Reads data from device
|
||||
//! \~russian Читает данные из устройства
|
||||
ssize_t readDevice(void * read_to, ssize_t max_size) override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Writes data to device
|
||||
//! \~russian Записывает данные в устройство
|
||||
ssize_t writeDevice(const void * data, ssize_t size) override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Returns device info flags
|
||||
//! \~russian Возвращает флаги информации об устройстве
|
||||
DeviceInfoFlags deviceInfoFlags() const override { return PIIODevice::Reliable; }
|
||||
|
||||
private:
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
/*! \file picloudserver.h
|
||||
* \ingroup Cloud
|
||||
* \~\brief
|
||||
* \~english PICloud Server
|
||||
* \~russian Сервер PICloud
|
||||
*/
|
||||
//! \file picloudserver.h
|
||||
//! \ingroup Cloud
|
||||
//! \brief
|
||||
//! \~english PICloud Server
|
||||
//! \~russian Сервер PICloud
|
||||
//! \details
|
||||
//! \~english Server implementation for accepting PICloud client connections over TCP.
|
||||
//! \~russian Реализация сервера для приема подключений клиентов PICloud по TCP.
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
PICloud Server
|
||||
@@ -36,25 +38,70 @@ class PIP_CLOUD_EXPORT PICloudServer
|
||||
PIIODEVICE(PICloudServer, "");
|
||||
|
||||
public:
|
||||
//! PICloudServer
|
||||
//! \brief
|
||||
//! \~english Constructs PICloudServer
|
||||
//! \~russian Создает PICloudServer
|
||||
explicit PICloudServer(const PIString & path = PIString(), PIIODevice::DeviceMode mode = PIIODevice::ReadWrite);
|
||||
|
||||
//! \brief
|
||||
//! \~english Destructor
|
||||
//! \~russian Деструктор
|
||||
virtual ~PICloudServer();
|
||||
|
||||
//! \brief Connected client representation
|
||||
//! \~english Represents a client connected to the server
|
||||
//! \~russian Представляет клиента, подключенного к серверу
|
||||
class Client: public PIIODevice {
|
||||
PIIODEVICE(PICloudServer::Client, "");
|
||||
friend class PICloudServer;
|
||||
|
||||
public:
|
||||
//! \brief
|
||||
//! \~english Constructs Client
|
||||
//! \~russian Создает Client
|
||||
//! \param srv Parent server / Родительский сервер
|
||||
//! \param id Client ID / ID клиента
|
||||
Client(PICloudServer * srv = nullptr, uint id = 0);
|
||||
|
||||
//! \brief
|
||||
//! \~english Destructor
|
||||
//! \~russian Деструктор
|
||||
virtual ~Client();
|
||||
|
||||
protected:
|
||||
//! \brief
|
||||
//! \~english Opens device
|
||||
//! \~russian Открывает устройство
|
||||
bool openDevice() override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Closes device
|
||||
//! \~russian Закрывает устройство
|
||||
bool closeDevice() override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Reads data from device
|
||||
//! \~russian Читает данные из устройства
|
||||
ssize_t readDevice(void * read_to, ssize_t max_size) override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Writes data to device
|
||||
//! \~russian Записывает данные в устройство
|
||||
ssize_t writeDevice(const void * data, ssize_t size) override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Returns device info flags
|
||||
//! \~russian Возвращает флаги информации об устройстве
|
||||
DeviceInfoFlags deviceInfoFlags() const override { return PIIODevice::Reliable; }
|
||||
|
||||
//! \brief
|
||||
//! \~english Returns number of bytes available
|
||||
//! \~russian Возвращает количество доступных байт
|
||||
ssize_t bytesAvailable() const override { return buff.size(); }
|
||||
|
||||
//! \brief
|
||||
//! \~english Interrupts connection
|
||||
//! \~russian Прерывает соединение
|
||||
void interrupt() override;
|
||||
|
||||
private:
|
||||
@@ -67,17 +114,45 @@ public:
|
||||
std::atomic_bool is_connected;
|
||||
};
|
||||
|
||||
//! \brief
|
||||
//! \~english Sets server name
|
||||
//! \~russian Устанавливает имя сервера
|
||||
void setServerName(const PIString & server_name);
|
||||
|
||||
//! \brief
|
||||
//! \~english Returns list of connected clients
|
||||
//! \~russian Возвращает список подключенных клиентов
|
||||
PIVector<PICloudServer::Client *> clients() const;
|
||||
|
||||
//! \brief
|
||||
//! \~english Raised when new client connects
|
||||
//! \~russian Вызывается при подключении нового клиента
|
||||
EVENT1(newConnection, PICloudServer::Client *, client);
|
||||
|
||||
protected:
|
||||
//! \brief
|
||||
//! \~english Opens device
|
||||
//! \~russian Открывает устройство
|
||||
bool openDevice() override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Closes device
|
||||
//! \~russian Закрывает устройство
|
||||
bool closeDevice() override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Reads data from device
|
||||
//! \~russian Читает данные из устройства
|
||||
ssize_t readDevice(void * read_to, ssize_t max_size) override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Writes data to device
|
||||
//! \~russian Записывает данные в устройство
|
||||
ssize_t writeDevice(const void * data, ssize_t max_size) override;
|
||||
|
||||
//! \brief
|
||||
//! \~english Interrupts connection
|
||||
//! \~russian Прерывает соединение
|
||||
void interrupt() override;
|
||||
|
||||
private:
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
/*! \file picloudtcp.h
|
||||
* \ingroup Cloud
|
||||
* \~\brief
|
||||
* \~english PICloud TCP transport
|
||||
* \~russian TCP слой PICloud
|
||||
*/
|
||||
//! \file picloudtcp.h
|
||||
//! \ingroup Cloud
|
||||
//! \brief
|
||||
//! \~english PICloud TCP transport
|
||||
//! \~russian TCP слой PICloud
|
||||
//! \details
|
||||
//! \~english Low-level TCP protocol implementation for PICloud communication.
|
||||
//! \~russian Реализация низкоуровневого TCP-протокола для коммуникации PICloud.
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
PICloud TCP transport
|
||||
@@ -36,45 +38,118 @@ class PIStreamPacker;
|
||||
|
||||
namespace PICloud {
|
||||
|
||||
//! \brief TCP transport protocol
|
||||
//! \~english TCP transport protocol for cloud communication
|
||||
//! \~russian TCP транспортный протокол для облачной коммуникации
|
||||
|
||||
class PIP_CLOUD_EXPORT TCP {
|
||||
public:
|
||||
//! \brief Protocol version
|
||||
enum Version {
|
||||
Version_1 = 1,
|
||||
Version_2 = 2,
|
||||
Version_1 = 1, //!< Version 1 / Версия 1
|
||||
Version_2 = 2, //!< Version 2 / Версия 2
|
||||
};
|
||||
|
||||
//! \brief Connection role
|
||||
enum Role {
|
||||
InvalidRole = 0,
|
||||
Server = 1,
|
||||
Client = 2,
|
||||
InvalidRole = 0, //!< Invalid role / Неверная роль
|
||||
Server = 1, //!< Server role / Роль сервера
|
||||
Client = 2, //!< Client role / Роль клиента
|
||||
};
|
||||
|
||||
//! \brief Message type
|
||||
enum Type {
|
||||
InvalidType = 0,
|
||||
Connect = 1,
|
||||
Disconnect = 2,
|
||||
Data = 3,
|
||||
Ping = 4,
|
||||
InvalidType = 0, //!< Invalid type / Неверный тип
|
||||
Connect = 1, //!< Connect message / Сообщение о подключении
|
||||
Disconnect = 2, //!< Disconnect message / Сообщение об отключении
|
||||
Data = 3, //!< Data message / Сообщение с данными
|
||||
Ping = 4, //!< Ping message / Сообщение ping
|
||||
};
|
||||
|
||||
//! \brief
|
||||
//! \~english Constructs TCP transport
|
||||
//! \~russian Создает TCP транспорт
|
||||
//! \param s Stream packer instance / Экземпляр стримового упаковщика
|
||||
TCP(PIStreamPacker * s);
|
||||
|
||||
//! \brief
|
||||
//! \~english Sets connection role
|
||||
//! \~russian Устанавливает роль соединения
|
||||
void setRole(Role r);
|
||||
|
||||
//! \brief
|
||||
//! \~english Returns connection role
|
||||
//! \~russian Возвращает роль соединения
|
||||
Role role() const { return (Role)header.role; }
|
||||
|
||||
//! \brief
|
||||
//! \~english Sets server name
|
||||
//! \~russian Устанавливает имя сервера
|
||||
void setServerName(const PIString & server_name_);
|
||||
|
||||
//! \brief
|
||||
//! \~english Returns server name
|
||||
//! \~russian Возвращает имя сервера
|
||||
PIString serverName() const;
|
||||
|
||||
//! \brief
|
||||
//! \~english Sends start message
|
||||
//! \~russian Отправляет сообщение о старте
|
||||
void sendStart();
|
||||
|
||||
//! \brief
|
||||
//! \~english Sends connected message
|
||||
//! \~russian Отправляет сообщение о подключении
|
||||
void sendConnected(uint client_id);
|
||||
|
||||
//! \brief
|
||||
//! \~english Sends disconnected message
|
||||
//! \~russian Отправляет сообщение об отключении
|
||||
void sendDisconnected(uint client_id);
|
||||
|
||||
//! \brief
|
||||
//! \~english Sends data to all clients
|
||||
//! \~russian Отправляет данные всем клиентам
|
||||
int sendData(const PIByteArray & data);
|
||||
|
||||
//! \brief
|
||||
//! \~english Sends data to specific client
|
||||
//! \~russian Отправляет данные конкретному клиенту
|
||||
int sendData(const PIByteArray & data, uint client_id);
|
||||
|
||||
//! \brief
|
||||
//! \~english Sends ping message
|
||||
//! \~russian Отправляет сообщение ping
|
||||
void sendPing();
|
||||
|
||||
//! \brief
|
||||
//! \~english Parses header from buffer
|
||||
//! \~russian Парсит заголовок из буфера
|
||||
PIPair<PICloud::TCP::Type, PICloud::TCP::Role> parseHeader(PIByteArray & ba);
|
||||
|
||||
//! \brief
|
||||
//! \~english Checks if data can be parsed
|
||||
//! \~russian Проверяет возможность парсинга данных
|
||||
bool canParseData(PIByteArray & ba);
|
||||
|
||||
//! \brief
|
||||
//! \~english Parses data for server
|
||||
//! \~russian Парсит данные для сервера
|
||||
PIPair<uint, PIByteArray> parseDataServer(PIByteArray & ba);
|
||||
|
||||
//! \brief
|
||||
//! \~english Parses connect data
|
||||
//! \~russian Парсит данные подключения
|
||||
PIByteArray parseConnect_d(PIByteArray & ba);
|
||||
|
||||
//! \brief
|
||||
//! \~english Parses connect message
|
||||
//! \~russian Парсит сообщение подключения
|
||||
uint parseConnect(PIByteArray & ba);
|
||||
|
||||
//! \brief
|
||||
//! \~english Parses disconnect message
|
||||
//! \~russian Парсит сообщение отключения
|
||||
uint parseDisconnect(PIByteArray & ba);
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user