diff options
| author | oy <Tom_Adams@web.de> | 2011-02-27 15:03:57 +0100 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2011-02-27 15:03:57 +0100 |
| commit | d9ce7203871cea0046144bce175df5bf1d7fcc19 (patch) | |
| tree | 10ecc4f818eb7c5f1402a774a351e6d7bc9a04bf /src/engine/shared | |
| parent | 45eee0c8c2bb5af6629db9adefeecea88a547fb4 (diff) | |
| download | zcatch-d9ce7203871cea0046144bce175df5bf1d7fcc19.tar.gz zcatch-d9ce7203871cea0046144bce175df5bf1d7fcc19.zip | |
made engine an interface
Diffstat (limited to 'src/engine/shared')
| -rw-r--r-- | src/engine/shared/console.cpp | 1 | ||||
| -rw-r--r-- | src/engine/shared/datafile.cpp | 1 | ||||
| -rw-r--r-- | src/engine/shared/demo.cpp | 1 | ||||
| -rw-r--r-- | src/engine/shared/engine.cpp | 109 | ||||
| -rw-r--r-- | src/engine/shared/engine.h | 26 | ||||
| -rw-r--r-- | src/engine/shared/masterserver.cpp | 22 | ||||
| -rw-r--r-- | src/engine/shared/network.cpp | 1 | ||||
| -rw-r--r-- | src/engine/shared/packer.cpp | 1 | ||||
| -rw-r--r-- | src/engine/shared/snapshot.cpp | 1 | ||||
| -rw-r--r-- | src/engine/shared/storage.cpp | 1 |
10 files changed, 61 insertions, 103 deletions
diff --git a/src/engine/shared/console.cpp b/src/engine/shared/console.cpp index 987e252b..3241d05d 100644 --- a/src/engine/shared/console.cpp +++ b/src/engine/shared/console.cpp @@ -6,7 +6,6 @@ #include <engine/storage.h> #include "console.h" #include "config.h" -#include "engine.h" #include "linereader.h" const char *CConsole::CResult::GetString(unsigned Index) diff --git a/src/engine/shared/datafile.cpp b/src/engine/shared/datafile.cpp index a24ea765..74583ab8 100644 --- a/src/engine/shared/datafile.cpp +++ b/src/engine/shared/datafile.cpp @@ -4,7 +4,6 @@ #include <base/system.h> #include <engine/storage.h> #include "datafile.h" -#include "engine.h" #include <zlib.h> static const int DEBUG=0; diff --git a/src/engine/shared/demo.cpp b/src/engine/shared/demo.cpp index 0433d6a3..bf883456 100644 --- a/src/engine/shared/demo.cpp +++ b/src/engine/shared/demo.cpp @@ -9,7 +9,6 @@ #include "snapshot.h" #include "compression.h" #include "network.h" -#include "engine.h" static const unsigned char gs_aHeaderMarker[7] = {'T', 'W', 'D', 'E', 'M', 'O', 0}; static const unsigned char gs_ActVersion = 2; diff --git a/src/engine/shared/engine.cpp b/src/engine/shared/engine.cpp index ea06c57c..442a5dfe 100644 --- a/src/engine/shared/engine.cpp +++ b/src/engine/shared/engine.cpp @@ -3,81 +3,70 @@ #include <base/system.h> +#include <engine/engine.h> #include <engine/shared/config.h> -#include <engine/shared/engine.h> #include <engine/shared/network.h> #include <engine/console.h> -#include "linereader.h" -// compiled-in data-dir path -#define DATA_DIR "data" -//static int engine_find_datadir(char *argv0); -/* -static void con_dbg_dumpmem(IConsole::IResult *result, void *user_data) +static int HostLookupThread(void *pUser) { - mem_debug_dump(); + CHostLookup *pLookup = (CHostLookup *)pUser; + net_host_lookup(pLookup->m_aHostname, &pLookup->m_Addr, NETTYPE_IPV4); + return 0; } -static void con_dbg_lognetwork(IConsole::IResult *result, void *user_data) +class CEngine : public IEngine { - CNetBase::OpenLog("network_sent.dat", "network_recv.dat"); -}*/ - -/* -static char application_save_path[512] = {0}; -static char datadir[512] = {0}; +public: + /* + static void con_dbg_dumpmem(IConsole::IResult *result, void *user_data) + { + mem_debug_dump(); + } -const char *engine_savepath(const char *filename, char *buffer, int max) -{ - str_format(buffer, max, "%s/%s", application_save_path, filename); - return buffer; -}*/ + static void con_dbg_lognetwork(IConsole::IResult *result, void *user_data) + { + CNetBase::OpenLog("network_sent.dat", "network_recv.dat"); + }*/ -void CEngine::Init(const char *pAppname) -{ - dbg_logger_stdout(); - dbg_logger_debugger(); + CEngine(const char *pAppname) + { + dbg_logger_stdout(); + dbg_logger_debugger(); - // - dbg_msg("engine", "running on %s-%s-%s", CONF_FAMILY_STRING, CONF_PLATFORM_STRING, CONF_ARCH_STRING); -#ifdef CONF_ARCH_ENDIAN_LITTLE - dbg_msg("engine", "arch is little endian"); -#elif defined(CONF_ARCH_ENDIAN_BIG) - dbg_msg("engine", "arch is big endian"); -#else - dbg_msg("engine", "unknown endian"); -#endif + // + dbg_msg("engine", "running on %s-%s-%s", CONF_FAMILY_STRING, CONF_PLATFORM_STRING, CONF_ARCH_STRING); + #ifdef CONF_ARCH_ENDIAN_LITTLE + dbg_msg("engine", "arch is little endian"); + #elif defined(CONF_ARCH_ENDIAN_BIG) + dbg_msg("engine", "arch is big endian"); + #else + dbg_msg("engine", "unknown endian"); + #endif - // init the network - net_init(); - CNetBase::Init(); + // init the network + net_init(); + CNetBase::Init(); - m_HostLookupPool.Init(1); + m_HostLookupPool.Init(1); - //MACRO_REGISTER_COMMAND("dbg_dumpmem", "", CFGFLAG_SERVER|CFGFLAG_CLIENT, con_dbg_dumpmem, 0x0, "Dump the memory"); - //MACRO_REGISTER_COMMAND("dbg_lognetwork", "", CFGFLAG_SERVER|CFGFLAG_CLIENT, con_dbg_lognetwork, 0x0, "Log the network"); - - // reset the config - //config_reset(); -} + //MACRO_REGISTER_COMMAND("dbg_dumpmem", "", CFGFLAG_SERVER|CFGFLAG_CLIENT, con_dbg_dumpmem, 0x0, "Dump the memory"); + //MACRO_REGISTER_COMMAND("dbg_lognetwork", "", CFGFLAG_SERVER|CFGFLAG_CLIENT, con_dbg_lognetwork, 0x0, "Log the network"); + } -void CEngine::InitLogfile() -{ - // open logfile if needed - if(g_Config.m_Logfile[0]) - dbg_logger_file(g_Config.m_Logfile); -} + void InitLogfile() + { + // open logfile if needed + if(g_Config.m_Logfile[0]) + dbg_logger_file(g_Config.m_Logfile); + } -static int HostLookupThread(void *pUser) -{ - CHostLookup *pLookup = (CHostLookup *)pUser; - net_host_lookup(pLookup->m_aHostname, &pLookup->m_Addr, NETTYPE_IPV4); - return 0; -} + void HostLookup(CHostLookup *pLookup, const char *pHostname) + { + str_copy(pLookup->m_aHostname, pHostname, sizeof(pLookup->m_aHostname)); + m_HostLookupPool.Add(&pLookup->m_Job, HostLookupThread, pLookup); + } +}; -void CEngine::HostLookup(CHostLookup *pLookup, const char *pHostname) -{ - str_copy(pLookup->m_aHostname, pHostname, sizeof(pLookup->m_aHostname)); - m_HostLookupPool.Add(&pLookup->m_Job, HostLookupThread, pLookup); -} +IEngine *CreateEngine(const char *pAppname) { return new CEngine(pAppname); } diff --git a/src/engine/shared/engine.h b/src/engine/shared/engine.h deleted file mode 100644 index 63b0cc09..00000000 --- a/src/engine/shared/engine.h +++ /dev/null @@ -1,26 +0,0 @@ -/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */ -/* If you are missing that file, acquire a complete release at teeworlds.com. */ -#ifndef ENGINE_SHARED_E_ENGINE_H -#define ENGINE_SHARED_E_ENGINE_H - -#include "jobs.h" - -class CHostLookup -{ -public: - CJob m_Job; - char m_aHostname[128]; - NETADDR m_Addr; -}; - -class CEngine -{ - class CJobPool m_HostLookupPool; - -public: - void Init(const char *pAppname); - void InitLogfile(); - void HostLookup(CHostLookup *pLookup, const char *pHostname); -}; - -#endif diff --git a/src/engine/shared/masterserver.cpp b/src/engine/shared/masterserver.cpp index 308c3ed4..545cc16c 100644 --- a/src/engine/shared/masterserver.cpp +++ b/src/engine/shared/masterserver.cpp @@ -3,9 +3,11 @@ #include <stdio.h> // sscanf #include <base/system.h> + +#include <engine/engine.h> #include <engine/masterserver.h> #include <engine/storage.h> -#include "engine.h" + #include "linereader.h" class CMasterServer : public IEngineMasterServer @@ -22,7 +24,8 @@ public: CMasterInfo m_aMasterServers[MAX_MASTERSERVERS]; int m_NeedsUpdate; - CEngine *m_pEngine; + IEngine *m_pEngine; + IStorage *m_pStorage; CMasterServer() { @@ -98,9 +101,10 @@ public: } } - virtual void Init(class CEngine *pEngine) + virtual void Init() { - m_pEngine = pEngine; + m_pEngine = Kernel()->RequestInterface<IEngine>(); + m_pStorage = Kernel()->RequestInterface<IStorage>(); } virtual void SetDefault() @@ -115,12 +119,11 @@ public: CLineReader LineReader; IOHANDLE File; int Count = 0; - IStorage *pStorage = Kernel()->RequestInterface<IStorage>(); - if(!pStorage) + if(!m_pStorage) return -1; // try to open file - File = pStorage->OpenFile("masters.cfg", IOFLAG_READ, IStorage::TYPE_SAVE); + File = m_pStorage->OpenFile("masters.cfg", IOFLAG_READ, IStorage::TYPE_SAVE); if(!File) return -1; @@ -161,12 +164,11 @@ public: { IOHANDLE File; - IStorage *pStorage = Kernel()->RequestInterface<IStorage>(); - if(!pStorage) + if(!m_pStorage) return -1; // try to open file - File = pStorage->OpenFile("masters.cfg", IOFLAG_WRITE, IStorage::TYPE_SAVE); + File = m_pStorage->OpenFile("masters.cfg", IOFLAG_WRITE, IStorage::TYPE_SAVE); if(!File) return -1; diff --git a/src/engine/shared/network.cpp b/src/engine/shared/network.cpp index 8e70d9cf..43c1e645 100644 --- a/src/engine/shared/network.cpp +++ b/src/engine/shared/network.cpp @@ -4,7 +4,6 @@ #include "config.h" -#include "engine.h" #include "network.h" #include "huffman.h" diff --git a/src/engine/shared/packer.cpp b/src/engine/shared/packer.cpp index 5519898d..cd211468 100644 --- a/src/engine/shared/packer.cpp +++ b/src/engine/shared/packer.cpp @@ -4,7 +4,6 @@ #include "packer.h" #include "compression.h" -#include "engine.h" #include "config.h" void CPacker::Reset() diff --git a/src/engine/shared/snapshot.cpp b/src/engine/shared/snapshot.cpp index f908d1c2..fee6afa2 100644 --- a/src/engine/shared/snapshot.cpp +++ b/src/engine/shared/snapshot.cpp @@ -1,7 +1,6 @@ /* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */ /* If you are missing that file, acquire a complete release at teeworlds.com. */ #include "snapshot.h" -#include "engine.h" #include "compression.h" // CSnapshot diff --git a/src/engine/shared/storage.cpp b/src/engine/shared/storage.cpp index 3d7257f4..2c7fafea 100644 --- a/src/engine/shared/storage.cpp +++ b/src/engine/shared/storage.cpp @@ -2,7 +2,6 @@ /* If you are missing that file, acquire a complete release at teeworlds.com. */ #include <base/system.h> #include <engine/storage.h> -#include "engine.h" #include "linereader.h" // compiled-in data-dir path |