diff options
author | Henri Herscher <henri@oreka.org> | 2006-06-16 19:10:27 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2006-06-16 19:10:27 +0000 |
commit | 37e831162bd5080be5e111a39880a51d4406bcca (patch) | |
tree | 261fed75d90ebab01efa7ba668ebe3f68ae88cf4 /orkbasecxx | |
parent | 5752a8ab946c82cc61b0dc73c1114293a75309f3 (diff) |
Successfully moved MultiThreadedServer.cpp and MultiThreadedServer.h from orkaudio to orkbasecxx so that it is accessible by all modules/plugins.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@262 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasecxx')
-rw-r--r-- | orkbasecxx/MultiThreadedServer.cpp | 32 | ||||
-rw-r--r-- | orkbasecxx/MultiThreadedServer.h | 15 | ||||
-rw-r--r-- | orkbasecxx/OrkBase.dsp | 8 |
3 files changed, 42 insertions, 13 deletions
diff --git a/orkbasecxx/MultiThreadedServer.cpp b/orkbasecxx/MultiThreadedServer.cpp index 3dcc417..1d3a8bf 100644 --- a/orkbasecxx/MultiThreadedServer.cpp +++ b/orkbasecxx/MultiThreadedServer.cpp @@ -11,30 +11,35 @@ * */ -#include "MultiThreadedServer.h" - #include "ace/INET_Addr.h" #include "ace/OS_NS_string.h" +#include <xercesc/parsers/XercesDOMParser.hpp> +#include <xercesc/dom/DOMWriter.hpp> +#include <xercesc/dom/DOMImplementation.hpp> +#include <xercesc/dom/DOMImplementationRegistry.hpp> + #include "ObjectFactory.h" #include "serializers/SingleLineSerializer.h" #include "serializers/DomSerializer.h" #include "serializers/UrlSerializer.h" -#include "LogManager.h" #include "Utils.h" -#include <xercesc/parsers/XercesDOMParser.hpp> -#include <xercesc/dom/DOMWriter.hpp> -#include <xercesc/dom/DOMImplementation.hpp> -#include <xercesc/dom/DOMImplementationRegistry.hpp> +#include "MultiThreadedServer.h" +log4cxx::LoggerPtr CommandLineServer::s_log; + +// This is run at the start of each connection int CommandLineServer::open (void *void_acceptor) { + LOG4CXX_INFO(s_log, "new connection"); return this->activate (THR_DETACHED); } - +// This is run at program initialization void CommandLineServer::run(void* args) { + s_log = log4cxx::Logger::getLogger("interface.commandlineserver"); + unsigned short tcpPort = (unsigned short)(unsigned int)args; CommandLineAcceptor peer_acceptor; ACE_INET_Addr addr (tcpPort); @@ -43,7 +48,7 @@ void CommandLineServer::run(void* args) if (peer_acceptor.open (addr, &reactor) == -1) { CStdString tcpPortString = IntToString(tcpPort); - LOG4CXX_ERROR(LOG.rootLog, CStdString("Failed to start command line server on port:") + tcpPortString); + LOG4CXX_ERROR(s_log, CStdString("Failed to start command line server on port:") + tcpPortString); } else { @@ -119,14 +124,19 @@ int CommandLineServer::svc(void) //============================================================== +log4cxx::LoggerPtr HttpServer::s_log; + +// This is run at the start of each connection int HttpServer::open (void *void_acceptor) { return this->activate (THR_DETACHED); } - +// This is run at program initialization void HttpServer::run(void* args) { + s_log = log4cxx::Logger::getLogger("interface.httpserver"); + unsigned short tcpPort = (unsigned short)(unsigned int)args; HttpAcceptor peer_acceptor; ACE_INET_Addr addr (tcpPort); @@ -135,7 +145,7 @@ void HttpServer::run(void* args) if (peer_acceptor.open (addr, &reactor) == -1) { CStdString tcpPortString = IntToString(tcpPort); - LOG4CXX_ERROR(LOG.rootLog, CStdString("Failed to start http server on port:") + tcpPortString); + LOG4CXX_ERROR(s_log, CStdString("Failed to start http server on port:") + tcpPortString); } else { diff --git a/orkbasecxx/MultiThreadedServer.h b/orkbasecxx/MultiThreadedServer.h index 19c58bc..b004007 100644 --- a/orkbasecxx/MultiThreadedServer.h +++ b/orkbasecxx/MultiThreadedServer.h @@ -17,11 +17,15 @@ #include "ace/Acceptor.h" #include "ace/SOCK_Acceptor.h" +#include <log4cxx/logger.h> + +#include "OrkBase.h" + /** This server accepts permanent telnet like connections. commands are accepted in "single line" format. one thread per connection */ -class CommandLineServer : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> +class DLL_IMPORT_EXPORT CommandLineServer : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> { public: virtual int open (void *); @@ -29,6 +33,9 @@ public: static void run(void *args); /** service routine */ virtual int svc (void); + +private: + static log4cxx::LoggerPtr s_log; }; typedef ACE_Acceptor<CommandLineServer, ACE_SOCK_ACCEPTOR> CommandLineAcceptor; @@ -38,7 +45,7 @@ typedef ACE_Acceptor<CommandLineServer, ACE_SOCK_ACCEPTOR> CommandLineAcceptor; Example url: http://localhost:23000/message=print&text=hello */ -class HttpServer : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> +class DLL_IMPORT_EXPORT HttpServer : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> { public: virtual int open (void *); @@ -46,6 +53,10 @@ public: static void run(void *args); /** service routine */ virtual int svc (void); + +private: + static log4cxx::LoggerPtr s_log; + }; typedef ACE_Acceptor<HttpServer, ACE_SOCK_ACCEPTOR> HttpAcceptor; diff --git a/orkbasecxx/OrkBase.dsp b/orkbasecxx/OrkBase.dsp index 68f2b4a..79a3091 100644 --- a/orkbasecxx/OrkBase.dsp +++ b/orkbasecxx/OrkBase.dsp @@ -260,6 +260,14 @@ SOURCE=.\g711.h # End Source File # Begin Source File +SOURCE=.\MultiThreadedServer.cpp +# End Source File +# Begin Source File + +SOURCE=.\MultiThreadedServer.h +# End Source File +# Begin Source File + SOURCE=.\Object.cpp !IF "$(CFG)" == "OrkBase - Win32 Release" |