GlobalObjects
Loading...
Searching...
No Matches
GloServer.h
Go to the documentation of this file.
1#ifndef INC_GLOSERVER_H
2#define INC_GLOSERVER_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include "GloTypes.h"
38#include <TcpServer.h>
39//-----------------------------------------------------------------------------
40namespace glo
41{
42 //---------------------------------------------------------------------------
43 /* Forwards */
44 struct ClientInfo;
45 class ServerThread;
46 class OrderMsg;
47 class Manager;
48 class ManagerActionVisualiser;
49 //---------------------------------------------------------------------------
64 {
65 public:
66 //-----------------------------------------------------------------------
67 // >>>>>>>>>>>>>> TcpServerReceiverTransmitter >>>>>>>>>>>>>>>>>>>>>>>>>>
68 //-----------------------------------------------------------------------
84 {
85 private:
86 //============== Attribute
87 //---------------------------------------------------------------------
106 //---------------------------------------------------------------------
107
108 protected:
109 //============== Konstruktoren
110 //---------------------------------------------------------------------
121 //---------------------------------------------------------------------
122
123 public:
124 //============== Konstruktoren
125 //---------------------------------------------------------------------
145 //---------------------------------------------------------------------
156 //---------------------------------------------------------------------
157
158 private:
159 //============== Copy-Konstruktor
160 //---------------------------------------------------------------------
171 //---------------------------------------------------------------------
172
173 public:
174 //============== Methoden
175 //---------------------------------------------------------------------
188 //---------------------------------------------------------------------
207 virtual int sendOrder( OrderMsg * pOrderMsg, tcp::ActionCode eTcpActionCode );
208 //---------------------------------------------------------------------
209
210 private:
211 //============== Operatoren
212 //---------------------------------------------------------------------
223 //---------------------------------------------------------------------
224 };
225 //-----------------------------------------------------------------------
226 // <<<<<<<<<<<<<<<< TcpServerReceiverTransmitter <<<<<<<<<<<<<<<<<<<<<<<<
227 //-----------------------------------------------------------------------
228
229 private:
230 //============== Attribute
231 //-----------------------------------------------------------------------
244 //-----------------------------------------------------------------------
245
246 protected:
247 //============== Konstruktor
248 //-----------------------------------------------------------------------
250
260 Server( unsigned int, int, int, int, int );
261 Server( unsigned int, int, int, int, unsigned int, int);
262 Server( unsigned int, int, int, int, unsigned int, unsigned long, int);
264 //-----------------------------------------------------------------------
265
266 public:
267 //============== Konstruktoren
268 //-----------------------------------------------------------------------
304 Server( const std::string & rsSchemaPath,
305 const std::vector< std::string > & rKnownSchemesVector,
306 unsigned int uiPort,
307 int iAdressFamily,
308 int iSocketType,
309 int iProtocol,
310 unsigned int uiDataSize,
311 unsigned long ulMaxClients,
312 int iSecTimeOut );
313 //-----------------------------------------------------------------------
323 virtual ~Server();
324 //-----------------------------------------------------------------------
325
326 private:
327 //============== Copy-Konstruktor
328 //-----------------------------------------------------------------------
338 Server( const Server & );
339 //-----------------------------------------------------------------------
340
341 public:
342 //============== Methoden
343 //-----------------------------------------------------------------------
355 std::string getSchemaPath() const;
356 //-----------------------------------------------------------------------
372 void getAllKnownBases( std::vector< std::string > & rKnownBasesVector ) const;
373 //-----------------------------------------------------------------------
387 void getAllClients( std::vector< ClientInfo > & rClientInfoVector ) const;
388 //-----------------------------------------------------------------------
407 void setActionVisualiser( ManagerActionVisualiser * pActionVisualiser );
408 //-----------------------------------------------------------------------
421 void setShowLevel( ShowLevel ulLevel );
422 //-----------------------------------------------------------------------
436 //-----------------------------------------------------------------------
458 virtual void processClientMessage( tcp::AbstractMessage * pTcpMessage ) override;
459 //-----------------------------------------------------------------------
460
461 protected:
462 //============== Methoden
463 //-----------------------------------------------------------------------
464 #if defined (__PTHREADS)
487 virtual void cleanUp();
488 //-----------------------------------------------------------------------
489 #else
490
491 public:
492 //============== Methoden
508 virtual void cancel() override;
509 #endif
510 //-----------------------------------------------------------------------
525 virtual void insertNewClient( Server::ServerReceiverTransmitter * pNewServerReceiverTransmitter ) override;
526 //-----------------------------------------------------------------------
543 virtual int removeClient( SOCKET nSocket ) override;
544 //-----------------------------------------------------------------------
563 SOCKET nSocket,
564 unsigned int uiDataSize ) const override;
565 //-----------------------------------------------------------------------
566
567 private:
568 //============== Operatoren
569 //-----------------------------------------------------------------------
579 Server & operator= ( const Server & );
580 //-----------------------------------------------------------------------
581 };
582 //---------------------------------------------------------------------------
583} // namespace glo
584#endif
For each library, here 'GlobalObjects' there is a type file.
#define __glo_export_dll
Definition GloTypes.h:63
Header for Server and Server::ServerReceiverTransmitter
Shows the actions of the Manager via std::cout
Definition GloManagerActionVisualiser.h:63
The object of this class is the central point of contact for actions that deal with GlobalObjects dat...
Definition GloManager.h:184
This class is used to handle the communication between the application that uses GlobalObjects and Gl...
Definition GloOrderMsg.h:77
A special ServerReceiverTransmitter for the Server. Its ServerReceiver is of the derived type TcpServ...
Definition GloServer.h:84
ServerThread * m_pServerThread
Definition GloServer.h:105
TcpServerReceiverTransmitter(tcp::Transmitter *pTransmitter, tcp::ServerReceiver *pReceiver)
virtual int sendOrder(OrderMsg *pOrderMsg, tcp::ActionCode eTcpActionCode)
TcpServerReceiverTransmitter(const TcpServerReceiverTransmitter &)
The server that communicates with Client's
Definition GloServer.h:64
std::string getSchemaPath() const
Server(const std::string &rsSchemaPath, const std::vector< std::string > &rKnownSchemesVector, unsigned int uiPort, int iAdressFamily, int iSocketType, int iProtocol, unsigned int uiDataSize, unsigned long ulMaxClients, int iSecTimeOut)
Server(unsigned int, int, int, int, int)
This constructor is not available.
void setActionVisualiser(ManagerActionVisualiser *pActionVisualiser)
void getAllKnownBases(std::vector< std::string > &rKnownBasesVector) const
Server(unsigned int, int, int, int, unsigned int, unsigned long, int)
This constructor is not available.
Server(const Server &)
void setShowLevel(ShowLevel ulLevel)
Manager * m_pGloManager
Definition GloServer.h:243
virtual void processClientMessage(tcp::AbstractMessage *pTcpMessage) override
Server()
This constructor is not available.
virtual void cancel() override
Server(unsigned int, int, int, int, unsigned int, int)
This constructor is not available.
ShowLevel getShowLevel()
void getAllClients(std::vector< ClientInfo > &rClientInfoVector) const
virtual int removeClient(SOCKET nSocket) override
virtual ~Server()
virtual void insertNewClient(Server::ServerReceiverTransmitter *pNewServerReceiverTransmitter) override
virtual tcp::Server::ServerReceiverTransmitter * generateNewServerReceiverTransmitter(tcp::Server *pParent, SOCKET nSocket, unsigned int uiDataSize) const override
An object of this class serves as interface between Manager and Base or PrivateBase.
Definition GloServerThread.h:70
Base class for messages which can be sent, received and processed by the Tcp-classes.
Definition TcpMessage.h:90
Tuple of socket Receiver and Transmitter for the Server.
Definition TcpServer.h:279
A simple TCP server class, which should learn its know-how in the derived classes.
Definition TcpServer.h:261
Class that communicates with a Client via a SOCKET and delivers its receive result of type ServerMess...
Definition TcpServerReceiver.h:74
A class that communicates with a Client or Server via a SOCKET and expects send data of type Message.
Definition TcpTransmitter.h:68
Definition GloAbstractBaseLot.h:42
unsigned long ShowLevel
Definition GloTypes.h:854
ActionCode
Definition TcpTypes.h:118