summaryrefslogtreecommitdiff
path: root/src/net/net.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2009-04-06 00:00:54 +0200
committerBjørn Lindeijer <bjorn@lindeijer.nl>2009-04-06 00:05:22 +0200
commit9113afb868f6c1da5911437d3ddabdcf169cbec2 (patch)
tree4efb107417b369e8362630fd49ea10fa38210f2a /src/net/net.cpp
parent96e56ba80110b54af0ee8ebb3410bd4d9d21cdfe (diff)
downloadmana-client-9113afb868f6c1da5911437d3ddabdcf169cbec2.tar.gz
mana-client-9113afb868f6c1da5911437d3ddabdcf169cbec2.tar.bz2
mana-client-9113afb868f6c1da5911437d3ddabdcf169cbec2.tar.xz
mana-client-9113afb868f6c1da5911437d3ddabdcf169cbec2.zip
Use a namespace to keep apart implementations of network handlers
Since we'll have three "InventoryHandler" classes, etc. this shows an example of how we can compile with all of them at the same time using namespaces. We'll have: Net::InventoryHandler - the interface EAthena::InventoryHandler - the eAthena implementation TmwServ::InventoryHandler - the tmwserv implementation Maybe we'll find a better way later, but for now this works. I'm not convinced yet that using namespaces is better than just using longer class names like EAthenaInventoryHandler.
Diffstat (limited to 'src/net/net.cpp')
-rw-r--r--src/net/net.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/net/net.cpp b/src/net/net.cpp
index 39575372..8921a954 100644
--- a/src/net/net.cpp
+++ b/src/net/net.cpp
@@ -35,16 +35,21 @@
#include "net/skillhandler.h"
#include "net/tradehandler.h"
-#ifdef TMWSERV_SUPPORT
#include "net/tmwserv/inventoryhandler.h"
+#include "net/ea/inventoryhandler.h"
+
+#ifdef TMWSERV_SUPPORT
#include "net/tmwserv/playerhandler.h"
#include "net/tmwserv/tradehandler.h"
#else
-#include "net/ea/inventoryhandler.h"
#include "net/ea/playerhandler.h"
#include "net/ea/tradehandler.h"
#endif
+namespace EAthena {
+extern InventoryHandler *inventoryHandler;
+}
+
Net::AdminHandler *Net::getAdminHandler()
{
// TODO
@@ -77,7 +82,11 @@ Net::GuildHandler *Net::getGuildHandler()
Net::InventoryHandler *Net::getInventoryHandler()
{
- return inventoryHandler;
+#ifdef TMWSERV_SUPPORT
+ return TmwServ::inventoryHandler;
+#else
+ return EAthena::inventoryHandler;
+#endif
}
Net::LoginHandler *Net::getLoginHandler()