diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2009-04-06 00:00:54 +0200 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2009-04-06 00:05:22 +0200 |
commit | 9113afb868f6c1da5911437d3ddabdcf169cbec2 (patch) | |
tree | 4efb107417b369e8362630fd49ea10fa38210f2a /src/net/net.cpp | |
parent | 96e56ba80110b54af0ee8ebb3410bd4d9d21cdfe (diff) | |
download | mana-9113afb868f6c1da5911437d3ddabdcf169cbec2.tar.gz mana-9113afb868f6c1da5911437d3ddabdcf169cbec2.tar.bz2 mana-9113afb868f6c1da5911437d3ddabdcf169cbec2.tar.xz mana-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.cpp | 15 |
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() |