00001 #ifndef __SOAP_SERVER__
00002 #define __SOAP_SERVER__
00003
00004 #include <Config.h>
00005 #include <Error.h>
00006 #include <UserPlugin.h>
00007 #include <string>
00008 #define MAX_THR 10
00009
00010
00052 class SoapServer : public UserPlugin {
00053
00054 public:
00055 SoapServer( const Config &cfg );
00056 virtual ~SoapServer();
00057 void shutdown();
00058 void runServer();
00059 bool init();
00060 CoreError run();
00061
00062 SoapSlave *soapSlaves[MAX_THR];
00063 int nextcon;
00064 sem_t connections;
00065 SessionTracker *sessions;
00066
00067 private:
00068 struct soap *soap_thr[MAX_THR];
00069 pthread_t tid[MAX_THR];
00070 pthread_t serverThread;
00071 sem_t shutd;
00072
00073
00074 string bindhost;
00075 int bindport;
00076
00077
00078 };
00079
00080 #endif