00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if !defined(_MESSAGEDATA_H____OF_AXIS_INCLUDED_)
00018 #define _MESSAGEDATA_H____OF_AXIS_INCLUDED_
00019
00020 #include "GDefine.h"
00021 #include "IMessageData.h"
00022 #include "WSDDService.h"
00023 #include "SoapSerializer.h"
00024 #include "SoapDeSerializer.h"
00025 #include "Param.h"
00026 #include "AdminUtils.h"
00027
00028 #include <string>
00029 #include <list>
00030 #include <map>
00031
00032 using namespace std;
00033
00034
00035
00036
00037
00038
00039
00040
00041 struct ltstr
00042 {
00043 bool operator()(const char* s1, const char* s2) const
00044 {
00045 return strcmp(s1, s2) < 0;
00046 }
00047 };
00048
00049 class MessageData : public IMessageData
00050 {
00051 public:
00052 MessageData();
00053 virtual ~MessageData();
00054 public:
00055 IWrapperSoapSerializer* m_pSZ;
00056 IWrapperSoapDeSerializer* m_pDZ;
00057 private:
00058 void getAdminUtils(IAdminUtils** pIAdminUtils);
00059 public:
00060 const AxisChar* getProperty(AxisChar* pachName);
00061 int setProperty(AxisChar* pachName, const AxisChar* pachValue);
00062 void setOperationName(const AxisChar* pchOperation)
00063 {m_sOperationName = pchOperation;};
00064 void getSoapDeSerializer
00065 (IHandlerSoapDeSerializer** pIHandlerSoapDeSerializer);
00066 const AxisChar* AXISCALL getOperationName()
00067 {return m_sOperationName.c_str();};
00068 void AXISCALL getSoapSerializer(IWrapperSoapSerializer** pIWSS);
00069 void AXISCALL getSoapDeSerializer(IWrapperSoapDeSerializer** pIWSDS);
00070 void getSoapSerializer(IHandlerSoapSerializer** pIHandlerSoapSerializer);
00071 IWrapperSoapDeSerializer* getSoapDeserializer();
00072 int setPastPivotState(bool bState);
00073 bool isPastPivot();
00074 void setDeSerializer(IWrapperSoapDeSerializer* pDZ);
00075 void setSerializer(IWrapperSoapSerializer* pSZ);
00076 void setUserName(string& m_sUserName);
00077 string& getUserName();
00078 void setService(const WSDDService* argService);
00079 const WSDDService* getService();
00080 AXIS_PROTOCOL_TYPE m_Protocol;
00081
00082 protected:
00083 string m_sUserName;
00084 string m_sOperationName;
00085 const WSDDService* m_Service;
00086
00087 private:
00088 static AdminUtils m_AdminUtil;
00089 bool m_bPastPivotState;
00090 map <AxisChar*, AxisChar*, ltstr> m_Properties;
00091 static const AxisChar* m_pachBlankPropertyValue;
00092 };
00093
00094 #endif
00095