//! \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 . */ #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