aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver/Master.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/worldserver/Master.cpp')
-rw-r--r--src/server/worldserver/Master.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/worldserver/Master.cpp b/src/server/worldserver/Master.cpp
index f6f4260e303..4a986893d78 100644
--- a/src/server/worldserver/Master.cpp
+++ b/src/server/worldserver/Master.cpp
@@ -38,6 +38,7 @@
#include "Log.h"
#include "Master.h"
#include "RASocket.h"
+#include "TCSoap.h"
#include "Timer.h"
#include "Util.h"
@@ -315,6 +316,15 @@ int Master::Run()
}
}
#endif
+ //Start soap serving thread
+ ACE_Based::Thread* soap_thread = NULL;
+
+ if(sConfig.GetBoolDefault("SOAP.Enabled", false))
+ {
+ TCSoapRunnable *runnable = new TCSoapRunnable();
+ runnable->setListenArguments(sConfig.GetStringDefault("SOAP.IP", "127.0.0.1"), sConfig.GetIntDefault("SOAP.Port", 7878));
+ soap_thread = new ACE_Based::Thread(runnable);
+ }
uint32 realCurrTime, realPrevTime;
realCurrTime = realPrevTime = getMSTime();
@@ -341,6 +351,13 @@ int Master::Run()
sWorldSocketMgr->Wait ();
+ if(soap_thread)
+ {
+ soap_thread->wait();
+ soap_thread->destroy();
+ delete soap_thread;
+ }
+
// set server offline
LoginDatabase.PExecute("UPDATE realmlist SET color = 2 WHERE id = '%d'",realmID);