00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if !defined(_IMESSAGEDATA_H___OF_AXIS_INCLUDED_)
00018 #define _IMESSAGEDATA_H___OF_AXIS_INCLUDED_
00019
00020 #ifdef __cplusplus
00021
00022 #include "GDefine.h"
00023
00024 AXIS_CPP_NAMESPACE_START
00025
00026 class WSDDService;
00027 class IAdminUtils;
00028
00029 AXIS_CPP_NAMESPACE_END
00030
00031 #include "IHandlerSoapDeSerializer.h"
00032 #include "IHandlerSoapSerializer.h"
00033
00034 #endif
00035
00036 #include "IWrapperSoapDeSerializer.h"
00037 #include "IWrapperSoapSerializer.h"
00038
00039 typedef struct
00040 {
00041 const AxisChar* (AXISCALL* getOperationName)(void* pObj);
00042 void (AXISCALL* getSoapSerializer)(void* pObj,
00043 IWrapperSoapSerializer_C* pIWSS);
00044 void (AXISCALL* getSoapDeSerializer)(void* pObj,
00045 IWrapperSoapDeSerializer_C* pIWSDS);
00046 } IMessageDataFunctions;
00047
00048 typedef struct
00049 {
00050 void* _object;
00051 IMessageDataFunctions* _functions;
00052 } IMessageData_C;
00053
00054 #ifndef __cplusplus
00055 typedef IMessageData_C IMessageData;
00056 #else
00057
00058
00059
00060
00061
00062
00063
00064 AXIS_CPP_NAMESPACE_START
00065
00066 class IMessageData
00067 {
00068
00069 friend class AxisAdminServiceWrapper;
00070 public:
00071 virtual ~IMessageData(){};
00072 private:
00073 virtual void getAdminUtils(IAdminUtils** pIAdminUtils)=0;
00074 public:
00075 virtual int setProperty(AxisChar* pachName, const AxisChar* pachValue)=0;
00076 virtual int setProperty(AxisChar* pachName, const void* pachValue, int len)=0;
00077 virtual const void* getProperty(AxisChar* sName)=0;
00078 virtual const AxisChar* AXISCALL getOperationName()=0;
00079 virtual void AXISCALL getSoapSerializer(IWrapperSoapSerializer** pIWSS)=0;
00080 virtual void AXISCALL getSoapDeSerializer
00081 (IWrapperSoapDeSerializer** pIWSDS)=0;
00082 virtual void getSoapSerializer
00083 (IHandlerSoapSerializer** pIHandlerSoapSerializer)=0;
00084 virtual void getSoapDeSerializer
00085 (IHandlerSoapDeSerializer** pIHandlerSoapDeSerializer)=0;
00086 virtual void setUserName(string& m_sUserName)=0;
00087 virtual string& getUserName()=0;
00088 virtual void setService(const WSDDService* argService) = 0;
00089 virtual const WSDDService* getService() = 0;
00090 virtual bool isPastPivot()=0;
00091 virtual int setPastPivotState(bool bState)=0;
00092
00093
00094 public:
00095 static IMessageDataFunctions ms_VFtable;
00096 static const AxisChar* AXISCALL s_GetOperationName(void* pObj)
00097 { return ((IMessageData*)pObj)->getOperationName();};
00098 static void AXISCALL s_GetSoapSerializer(void* pObj,
00099 IWrapperSoapSerializer_C* pIWSS)
00100 { ((IMessageData*)pObj)->getSoapSerializer
00101 ((IWrapperSoapSerializer**)&(pIWSS->_object));
00102 pIWSS->_functions = &(IWrapperSoapSerializer::ms_VFtable);};
00103 static void AXISCALL s_GetSoapDeSerializer(void* pObj,
00104 IWrapperSoapDeSerializer_C* pIWSDS)
00105 { ((IMessageData*)pObj)->getSoapDeSerializer
00106 ((IWrapperSoapDeSerializer**)&(pIWSDS->_object));
00107 pIWSDS->_functions = &(IWrapperSoapDeSerializer::ms_VFtable);};
00108 static void s_Initialize()
00109 {
00110 ms_VFtable.getOperationName = s_GetOperationName;
00111 ms_VFtable.getSoapSerializer = s_GetSoapSerializer;
00112 ms_VFtable.getSoapDeSerializer = s_GetSoapDeSerializer;
00113 }
00114 };
00115
00116 AXIS_CPP_NAMESPACE_END
00117
00118 #endif
00119
00120 #endif
00121
00122
00123
00124
00125
00126