/
MaximU
/
application
Обзор
Документация
Войти
/
MaximU
/
application
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
connectionserver.cpp
94 строки
3 KB
Максим
Отформатированы коментарии Doxygen к функциям/классам в стиле Qt.
03 июл 2026, 22:42
03 июл 2026, 22:42
7a8588b
Код
Авторство
О чём код?
#include "connectionserver.h" /*! * \brief Конструктор. * \param id Идентификатор соединения. * \param name Имя соединения. * \param label Метка соединения. */ ConnectionServer::ConnectionServer(int id, const QString &name, const QString &label) : Connection(id, name, label) { } /*! * \brief Деструктор. */ ConnectionServer::~ConnectionServer() { } /*! * \brief Открывает соединение и осуществляет попытку соединения. */ void ConnectionServer::open() { } /*! * \brief Закрывает соединение. */ void ConnectionServer::close() { for (ConnectionClient *client : mConnections) { client->close(); } } /*! * \brief Возвращает список соединений. * \return Список соединений. */ QList<ConnectionClient *> ConnectionServer::connections() { return mConnections; } /*! * \brief Производит выдачу массива всем соединениям. * \param data Массив. * \param length Размер массива. */ void ConnectionServer::write(const char *data, int length) { for (ConnectionClient *client : mConnections) { client->write(data, length); } } /*! * \brief Вызывается при подключении соединения. * \param connection Подключенное соединение. */ void ConnectionServer::newConnection(ConnectionClient *connection) { connect(connection, SIGNAL(disconnected(ConnectionClient *)), this, SLOT(slot_connection_disconnected(ConnectionClient *))); connect(connection, SIGNAL(beginReadPortion(Connection *)), this, SIGNAL(beginReadPortion(Connection *))); connect(connection, SIGNAL(endReadPortion(Connection *)), this, SIGNAL(endReadPortion(Connection *))); connect(connection, SIGNAL(beginWritePortion(Connection *)), this, SIGNAL(beginWritePortion(Connection *))); connect(connection, SIGNAL(endWritePortion(Connection *)), this, SIGNAL(endWritePortion(Connection *))); connection->mState = ConnectionClient::StateConnected; connection->mLabel = mLabel; connection->mId = mId; mConnections.append(connection); emit connectionConnected(connection); } /*! * \brief Вызывается при отключении соединения. * \param connection Отключенное соединение. */ void ConnectionServer::slot_connection_disconnected(ConnectionClient *connection) { mConnections.removeOne(connection); emit connectionDisconnected(connection); connection->deleteLater(); // Удалить сразу нельзя, после выхода могут производиться действия с членами mDevice. }