00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #if !defined(AXIS_WSDDTRANSPORT_H__INCLUDED_)
00019 #define AXIS_WSDDTRANSPORT_H__INCLUDED_
00020
00021 #include <axis/server/WSDDHandler.h>
00022 #include <map>
00023
00024
00025
00026
00027
00028 class WSDDTransport
00029 {
00030 public:
00031 void AddHandler(bool bRequestFlow, AXIS_PROTOCOL_TYPE protocol,
00032 WSDDHandler* pHandler);
00033 int RemoveHandler(bool bRequestFlow, AXIS_PROTOCOL_TYPE protocol,
00034 WSDDHandler* pHandler);
00035 const WSDDHandlerList* GetResponseFlowHandlers
00036 (AXIS_PROTOCOL_TYPE Protocol);
00037 const WSDDHandlerList* GetRequestFlowHandlers(AXIS_PROTOCOL_TYPE Protocol);
00038 WSDDTransport();
00039 virtual ~WSDDTransport();
00040 int UpdateWSDD(FILE* wsddfile, int tabcount);
00041 private:
00042 map<AXIS_PROTOCOL_TYPE, WSDDHandlerList>* m_RequestHandlers;
00043 map<AXIS_PROTOCOL_TYPE, WSDDHandlerList>* m_ResponseHandlers;
00044 };
00045
00046 #endif
00047