Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Examples  

MessageData.h

00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
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  *  @class MessageData
00035  *  @brief interface for the MessageData class.
00036  *
00037  *
00038  *  @author Susantha Kumara (skumara@virtusa.com)
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 

Generated on Tue Jun 29 09:27:57 2004 for AxisC++ by doxygen1.2.18