summaryrefslogtreecommitdiffstats
path: root/source/cServer.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/cServer.h')
-rw-r--r--source/cServer.h141
1 files changed, 0 insertions, 141 deletions
diff --git a/source/cServer.h b/source/cServer.h
deleted file mode 100644
index b3599aa1e..000000000
--- a/source/cServer.h
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// cServer.h
-
-// Interfaces to the cServer object representing the network server
-
-
-
-
-
-#pragma once
-#ifndef CSERVER_H_INCLUDED
-#define CSERVER_H_INCLUDED
-
-#include "OSSupport/SocketThreads.h"
-#include "CryptoPP/rsa.h"
-#include "CryptoPP/randpool.h"
-
-
-
-
-
-class cPlayer;
-class cClientHandle;
-
-typedef std::list<cClientHandle *> cClientHandleList;
-
-
-
-
-
-class cServer //tolua_export
-{ //tolua_export
-public: //tolua_export
- static cServer * GetServer(); //tolua_export
-
- bool InitServer( int a_Port = 25565 );
-
- int GetPort() { return m_iServerPort; }
- bool IsConnected(){return m_bIsConnected;} // returns connection status
- void StartListenClient(); // Listen to client
-
- void BroadcastChat(const AString & a_Message, const cClientHandle * a_Exclude = NULL);
-
- bool Tick(float a_Dt);
-
- void StartListenThread();
-
- bool Command(cClientHandle & a_Client, const AString & a_Cmd);
- void ServerCommand(const AString & a_Cmd); //tolua_export
- void Shutdown();
-
- void SendMessage(const AString & a_Message, cPlayer * a_Player = NULL, bool a_bExclude = false ); // tolua_export
-
- void KickUser(int a_ClientID, const AString & a_Reason);
- void AuthenticateUser(int a_ClientID); // Called by cAuthenticator to auth the specified user
-
- static void ServerListenThread( void* a_Args );
-
- const AString & GetServerID(void) const;
-
- void ClientDestroying(const cClientHandle * a_Client); // Called by cClientHandle::Destroy(); stop m_SocketThreads from calling back into a_Client
-
- void NotifyClientWrite(const cClientHandle * a_Client); // Notifies m_SocketThreads that client has something to be written
-
- void WriteToClient(const cSocket * a_Socket, const AString & a_Data); // Queues outgoing data for the socket through m_SocketThreads
-
- void QueueClientClose(const cSocket * a_Socket); // Queues the socket to close when all its outgoing data is sent
-
- void RemoveClient(const cSocket * a_Socket); // Removes the socket from m_SocketThreads
-
- CryptoPP::RSA::PrivateKey & GetPrivateKey(void) { return m_PrivateKey; }
- CryptoPP::RSA::PublicKey & GetPublicKey (void) { return m_PublicKey; }
-
-private:
-
- friend class cRoot; // so cRoot can create and destroy cServer
-
- /// When NotifyClientWrite() is called, it is queued for this thread to process (to avoid deadlocks between cSocketThreads, cClientHandle and cChunkMap)
- class cNotifyWriteThread :
- public cIsThread
- {
- typedef cIsThread super;
-
- cEvent m_Event; // Set when m_Clients gets appended
- cServer * m_Server;
-
- cCriticalSection m_CS;
- cClientHandleList m_Clients;
-
- virtual void Execute(void);
-
- public:
-
- cNotifyWriteThread(void);
- ~cNotifyWriteThread();
-
- bool Start(cServer * a_Server);
-
- void NotifyClientWrite(const cClientHandle * a_Client);
- } ;
-
- struct sServerState;
- sServerState* m_pState;
-
- cNotifyWriteThread m_NotifyWriteThread;
-
- cCriticalSection m_CSClients; // Locks client list
- cClientHandleList m_Clients; // Clients that are connected to the server
-
- cSocketThreads m_SocketThreads;
-
- int m_ClientViewDistance; // The default view distance for clients; settable in Settings.ini
-
- // Time since server was started
- float m_Millisecondsf;
- unsigned int m_Milliseconds;
-
- bool m_bIsConnected; // true - connected false - not connected
- int m_iServerPort;
-
- bool m_bRestarting;
-
- CryptoPP::RSA::PrivateKey m_PrivateKey;
- CryptoPP::RSA::PublicKey m_PublicKey;
-
- cServer();
- ~cServer();
-
- /// Loads, or generates, if missing, RSA keys for protocol encryption
- void PrepareKeys(void);
-}; //tolua_export
-
-
-
-
-
-#endif // CSERVER_H_INCLUDED
-
-
-
-