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