00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if !defined(_WSDDSERVICE_H__OF_AXIS_INCLUDED_)
00018 #define _WSDDSERVICE_H__OF_AXIS_INCLUDED_
00019
00020 #include "WSDDHandler.h"
00021 #include "WSDDDefines.h"
00022
00028 class WSDDService : public WSDDHandler
00029 {
00030 public:
00031 const list<AxisString> getAllowedMethods() const;
00032 void setProvider(const AxisChar* sProvider);
00033 PROVIDERTYPE getProvider() const;
00034 const AxisChar* getServiceName() const;
00035 bool isAllowedMethod(const AxisChar* sMethodName) const;
00036 void addAllowedMethod(const AxisChar* sMethodName);
00037 const WSDDHandlerList* getResponseFlowHandlers() const;
00038 void addHandler(bool bRequestFlow, WSDDHandler* pHandler);
00039 int removeHandler(bool bRequestFlow, WSDDHandler* pHandler);
00040 const WSDDHandlerList* getRequestFlowHandlers() const;
00041 void addAllowedRole(const AxisChar* sRole);
00042 const list<AxisString>& getAllowedRoles();
00043 WSDDService();
00044 virtual ~WSDDService();
00045 int updateWSDD(FILE* wsddfile, int tabcount);
00046 private:
00047 const char* getProviderString();
00048 private:
00049 PROVIDERTYPE m_Provider;
00050 list<AxisString> m_AllowedMethods;
00051 WSDDHandlerList* m_RequestHandlers;
00052 WSDDHandlerList* m_ResponseHandlers;
00053 list<AxisString> m_AllowedRoles;
00054 };
00055
00056 typedef map<AxisString, WSDDService*> WSDDServiceMap;
00057
00058 #endif
00059