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 class WSDDService;
00025 #include "IAdminUtils.h"
00026
00027 #include "IHandlerSoapDeSerializer.h"
00028 #include "IHandlerSoapSerializer.h"
00029
00030 #endif
00031
00032 #include "IWrapperSoapDeSerializer.h"
00033 #include "IWrapperSoapSerializer.h"
00034
00035 typedef struct
00036 {
00037 const AxisChar* (AXISCALL* getOperationName)(void* pObj);
00038 void (AXISCALL* getSoapSerializer)(void* pObj,
00039 IWrapperSoapSerializer_C* pIWSS);
00040 void (AXISCALL* getSoapDeSerializer)(void* pObj,
00041 IWrapperSoapDeSerializer_C* pIWSDS);
00042 } IMessageDataFunctions;
00043
00044 typedef struct
00045 {
00046 void* _object;
00047 IMessageDataFunctions* _functions;
00048 } IMessageData_C;
00049
00050 #ifndef __cplusplus
00051 typedef IMessageData_C IMessageData;
00052 #else
00053
00054
00055
00056
00057
00058
00059 class IMessageData
00060 {
00061
00062 friend class AxisAdminServiceWrapper;
00063 public:
00064 virtual ~IMessageData(){};
00065 private:
00066 virtual void getAdminUtils(IAdminUtils** pIAdminUtils)=0;
00067 public:
00068 virtual int setProperty(AxisChar* pachName, const AxisChar* pachValue)=0;
00069 virtual const AxisChar* getProperty(AxisChar* sName)=0;
00070 virtual const AxisChar* AXISCALL getOperationName()=0;
00071 virtual void AXISCALL getSoapSerializer(IWrapperSoapSerializer** pIWSS)=0;
00072 virtual void AXISCALL getSoapDeSerializer
00073 (IWrapperSoapDeSerializer** pIWSDS)=0;
00074 virtual void getSoapSerializer
00075 (IHandlerSoapSerializer** pIHandlerSoapSerializer)=0;
00076 virtual void getSoapDeSerializer
00077 (IHandlerSoapDeSerializer** pIHandlerSoapDeSerializer)=0;
00078 virtual void setUserName(string& m_sUserName)=0;
00079 virtual string& getUserName()=0;
00080 virtual void setService(const WSDDService* argService) = 0;
00081 virtual const WSDDService* getService() = 0;
00082 virtual bool isPastPivot()=0;
00083 virtual int setPastPivotState(bool bState)=0;
00084
00085
00086 public:
00087 static IMessageDataFunctions ms_VFtable;
00088 static const AxisChar* AXISCALL s_GetOperationName(void* pObj)
00089 { return ((IMessageData*)pObj)->getOperationName();};
00090 static void AXISCALL s_GetSoapSerializer(void* pObj,
00091 IWrapperSoapSerializer_C* pIWSS)
00092 { ((IMessageData*)pObj)->getSoapSerializer
00093 ((IWrapperSoapSerializer**)&(pIWSS->_object));
00094 pIWSS->_functions = &(IWrapperSoapSerializer::ms_VFtable);};
00095 static void AXISCALL s_GetSoapDeSerializer(void* pObj,
00096 IWrapperSoapDeSerializer_C* pIWSDS)
00097 { ((IMessageData*)pObj)->getSoapDeSerializer
00098 ((IWrapperSoapDeSerializer**)&(pIWSDS->_object));
00099 pIWSDS->_functions = &(IWrapperSoapDeSerializer::ms_VFtable);};
00100 static void s_Initialize()
00101 {
00102 ms_VFtable.getOperationName = s_GetOperationName;
00103 ms_VFtable.getSoapSerializer = s_GetSoapSerializer;
00104 ms_VFtable.getSoapDeSerializer = s_GetSoapDeSerializer;
00105 }
00106 };
00107
00108 #endif
00109
00110 #endif
00111
00112
00113
00114
00115
00116