From 386d58b5862d8b76925c6523721594887606e82a Mon Sep 17 00:00:00 2001 From: faketruth Date: Mon, 3 Oct 2011 18:41:19 +0000 Subject: MCServer c++ source files git-svn-id: http://mc-server.googlecode.com/svn/trunk@3 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cServer.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 source/cServer.h (limited to 'source/cServer.h') diff --git a/source/cServer.h b/source/cServer.h new file mode 100644 index 000000000..c8a669949 --- /dev/null +++ b/source/cServer.h @@ -0,0 +1,53 @@ +#pragma once + +class cEvent; +class cSemaphore; +class cCriticalSection; +class cPlayer; +class cClientHandle; +class cPacket; +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 + int RecClient(cClientHandle *sRecSocket); // receive message for a particular socket + + void Broadcast( const cPacket & a_Packet, cClientHandle* a_Exclude = 0 ); + void SendAllEntitiesTo( cClientHandle* a_Target ); + + bool Tick(float a_Dt); + + void StartListenThread(); + + bool Command( cClientHandle & a_Client, const char* a_Cmd ); + void ServerCommand( const char* a_Cmd ); //tolua_export + void Shutdown(); + + void SendMessage( const char* a_Message, cPlayer* a_Player = 0, bool a_bExclude = false ); //tolua_export + + static void ServerListenThread( void* a_Args ); + + const char* GetServerID(); +private: + friend class cRoot; // so cRoot can create and destroy cServer + cServer(); + ~cServer(); + + struct sServerState; + sServerState* m_pState; + + // 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; +}; //tolua_export -- cgit v1.2.3