00001
#ifndef _STREAMSOAP_DISPATCH_
00002
#define _STREAMSOAP_DISPATCH_
00003
00004
#include <map>
00005
#include <string>
00006
00007
#include <xct/socket/Socket.hpp>
00008
00009
#include "HttpServiceHandler.hpp"
00010
00011
00012
00013
namespace xsoap {
00014
00016
00020 class HttpServer {
00021
00022
public:
00023
typedef std::map<std::string,HttpServiceHandler*> HttpTableType;
00024
00025
private:
00026 HttpTableType httpHandlerTable;
00027
int m_port;
00028
00029
public:
00033
HttpServer(
int port);
00034 ~
HttpServer(
void);
00035
00037
00040
void*
start();
00041
00043
00049
void registerHandler(std::string url, HttpServiceHandler* handler);
00050
int getPort() {
return m_port;}
00051
00052
private:
00053
void* dispatchCall(xct::socket::Socket* socket_);
00054 };
00055
00056 }
00057
#endif
00058
00059
00060
00061
00062