92 lines
3.3 KiB
C++
92 lines
3.3 KiB
C++
//! \file piclientserver_client.h
|
||
//! \ingroup ClientServer
|
||
//! \brief
|
||
//! \~english Client and ServerClient classes
|
||
//! \~russian Классы Client и ServerClient
|
||
//! \details
|
||
//! \~english Provides client implementation for connecting to servers and server-side client representation.
|
||
//! \~russian Обеспечивает реализацию клиента для подключения к серверам и представление клиента на стороне сервера.
|
||
/*
|
||
PIP - Platform Independent Primitives
|
||
Ivan Pelipenko peri4ko@yandex.ru
|
||
|
||
This program is free software: you can redistribute it and/or modify
|
||
it under the terms of the GNU Lesser General Public License as published by
|
||
the Free Software Foundation, either version 3 of the License, or
|
||
(at your option) any later version.
|
||
|
||
This program is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU Lesser General Public License for more details.
|
||
|
||
You should have received a copy of the GNU Lesser General Public License
|
||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
*/
|
||
|
||
#ifndef piclientserver_client_H
|
||
#define piclientserver_client_H
|
||
|
||
#include "piclientserver_client_base.h"
|
||
|
||
|
||
namespace PIClientServer {
|
||
|
||
|
||
// ServerClient
|
||
|
||
//! \details
|
||
//! \~english Server-side client representation. Created and managed by Server. Used to communicate with remote clients connected to the
|
||
//! server.
|
||
//! \~russian Представление клиента на стороне сервера. Создаётся и управляется сервером. Используется для коммуникации с удалёнными
|
||
//! клиентами, подключёнными к серверу.
|
||
class PIP_CLIENT_SERVER_EXPORT ServerClient: public ClientBase {
|
||
friend class Server;
|
||
NO_COPY_CLASS(ServerClient);
|
||
|
||
public:
|
||
//! \~english Creates empty ServerClient instance
|
||
//! \~russian Создает пустой экземпляр ServerClient
|
||
ServerClient() {}
|
||
|
||
protected:
|
||
//! ~english Called before client destruction
|
||
//! ~russian Вызывается перед уничтожением клиента
|
||
virtual void aboutDelete() {}
|
||
|
||
private:
|
||
void createForServer(Server * parent, PIEthernet * tcp_);
|
||
};
|
||
|
||
|
||
// Client
|
||
|
||
//! \details
|
||
//! \~english Client implementation for connecting to servers. Provides TCP connection to remote server with diagnostics and packet
|
||
//! streaming support.
|
||
//! \~russian Реализация клиента для подключения к серверам. Обеспечивает TCP-соединение с удалённым сервером с поддержкой диагностики и
|
||
//! потоковой передачи пакетов.
|
||
class PIP_CLIENT_SERVER_EXPORT Client: public ClientBase {
|
||
NO_COPY_CLASS(Client);
|
||
|
||
public:
|
||
//! \~english Creates Client instance
|
||
//! \~russian Создает экземпляр Client
|
||
Client();
|
||
//! \~english Destroys Client instance
|
||
//! \~russian Уничтожает экземпляр Client
|
||
~Client();
|
||
|
||
//! ~english Connects to specified server address
|
||
//! ~russian Подключается к указанному адресу сервера
|
||
void connect(PINetworkAddress addr);
|
||
|
||
protected:
|
||
|
||
private:
|
||
};
|
||
|
||
} // namespace PIClientServer
|
||
|
||
#endif
|