about summary refs log tree commit diff
path: root/src/engine/shared/engine.cpp
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-02-27 15:03:57 +0100
committeroy <Tom_Adams@web.de>2011-02-27 15:03:57 +0100
commitd9ce7203871cea0046144bce175df5bf1d7fcc19 (patch)
tree10ecc4f818eb7c5f1402a774a351e6d7bc9a04bf /src/engine/shared/engine.cpp
parent45eee0c8c2bb5af6629db9adefeecea88a547fb4 (diff)
downloadzcatch-d9ce7203871cea0046144bce175df5bf1d7fcc19.tar.gz
zcatch-d9ce7203871cea0046144bce175df5bf1d7fcc19.zip
made engine an interface
Diffstat (limited to 'src/engine/shared/engine.cpp')
-rw-r--r--src/engine/shared/engine.cpp109
1 files changed, 49 insertions, 60 deletions
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); }