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

IWrapperSoapDeSerializer.hpp

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(_IWRAPPERSOAPDESERIALIZER_H____OF_AXIS_INCLUDED_)
00018 #define _IWRAPPERSOAPDESERIALIZER_H____OF_AXIS_INCLUDED_
00019 
00020 #include "AxisUserAPI.hpp"
00021 #include "TypeMapping.hpp"
00022 #include "WSDDDefines.hpp"
00023 
00033 AXIS_CPP_NAMESPACE_START
00034 
00035 class IWrapperSoapDeSerializer
00036 {
00037 public:
00038     virtual ~IWrapperSoapDeSerializer(){};
00039 
00040     virtual int AXISCALL checkMessageBody(const AxisChar* pName, 
00041         const AxisChar* pNamespace)=0;
00042     virtual void* AXISCALL checkForFault(const AxisChar* pName, 
00043         const AxisChar* pNamespace)=0;
00044     /* Method used by wrappers to get a deserialized Array of complex types */
00045     virtual Axis_Array AXISCALL getCmplxArray(void* pDZFunct, void* pCreFunct, 
00046         void* pDelFunct, void* pSizeFunct, const AxisChar* pName, 
00047         const AxisChar* pNamespace)=0;
00048     /* Method used by wrappers to get a deserialized Array of basic types */
00049     virtual Axis_Array AXISCALL getBasicArray(XSDTYPE nType, 
00050         const AxisChar* pName, const AxisChar* pNamespace)=0;
00051     /* Method used by wrappers to get a deserialized single object of 
00052      * complex type 
00053      */
00054     virtual void* AXISCALL getCmplxObject(void* pDZFunct, void* pCreFunct, 
00055         void* pDelFunct, const AxisChar* pName, const AxisChar* pNamespace)=0;
00056     
00057     /* Methods used by wrappers to get a deserialized value of basic types */
00058     virtual int AXISCALL getElementAsInt(const AxisChar* pName, 
00059         const AxisChar* pNamespace)=0;
00060     virtual int AXISCALL getFaultDetail(char** ppcDetail) = 0;
00061     virtual xsd__boolean AXISCALL getElementAsBoolean(const AxisChar* pName, 
00062         const AxisChar* pNamespace)=0;
00063     virtual unsigned int AXISCALL getElementAsUnsignedInt(const AxisChar* 
00064         pName, const AxisChar* pNamespace)=0;
00065     virtual short AXISCALL getElementAsShort(const AxisChar* pName, 
00066         const AxisChar* pNamespace)=0;
00067     virtual unsigned short AXISCALL getElementAsUnsignedShort(const AxisChar* 
00068         pName, const AxisChar* pNamespace)=0;
00069     virtual char AXISCALL getElementAsByte(const AxisChar* pName, 
00070         const AxisChar* pNamespace)=0;
00071     virtual unsigned char AXISCALL getElementAsUnsignedByte(const AxisChar* 
00072         pName, const AxisChar* pNamespace)=0;
00073 #ifdef WIN32
00074     virtual __int64 AXISCALL getElementAsLong(const AxisChar* pName, 
00075         const AxisChar* pNamespace)=0;
00076 #else
00077     virtual long long AXISCALL getElementAsLong(const AxisChar* pName, 
00078         const AxisChar* pNamespace)=0;
00079 #endif
00080     virtual long AXISCALL getElementAsInteger(const AxisChar* pName, 
00081         const AxisChar* pNamespace)=0;
00082     virtual unsigned long AXISCALL getElementAsUnsignedLong(const AxisChar* 
00083         pName, const AxisChar* pNamespace)=0;
00084     virtual float AXISCALL getElementAsFloat(const AxisChar* pName, 
00085         const AxisChar* pNamespace)=0;
00086     virtual double AXISCALL getElementAsDouble(const AxisChar* pName, 
00087         const AxisChar* pNamespace)=0;
00088     virtual double AXISCALL getElementAsDecimal(const AxisChar* pName, 
00089         const AxisChar* pNamespace)=0;
00090     virtual AxisChar* AXISCALL getElementAsString(const AxisChar* pName, 
00091         const AxisChar* pNamespace)=0;
00092     virtual AxisChar* AXISCALL getElementAsAnyURI(const AxisChar* pName, 
00093         const AxisChar* pNamespace)=0;
00094     virtual AxisChar* AXISCALL getElementAsQName(const AxisChar* pName, 
00095         const AxisChar* pNamespace)=0;
00096     virtual xsd__hexBinary AXISCALL getElementAsHexBinary(const AxisChar* 
00097         pName, const AxisChar* pNamespace)=0;
00098     virtual xsd__base64Binary AXISCALL getElementAsBase64Binary(const AxisChar*
00099         pName, const AxisChar* pNamespace)=0;
00100     virtual struct tm AXISCALL getElementAsDateTime(const AxisChar* pName, 
00101         const AxisChar* pNamespace)=0;
00102     virtual struct tm AXISCALL getElementAsDate(const AxisChar* pName, 
00103         const AxisChar* pNamespace)=0;
00104     virtual struct tm AXISCALL getElementAsTime(const AxisChar* pName, 
00105         const AxisChar* pNamespace)=0;
00106     virtual long AXISCALL getElementAsDuration(const AxisChar* pName, 
00107         const AxisChar* pNamespace)=0;
00108 
00109     virtual int AXISCALL getAttributeAsInt(const AxisChar* pName, 
00110         const AxisChar* pNamespace)=0;
00111     virtual xsd__boolean AXISCALL getAttributeAsBoolean(const AxisChar* pName, 
00112         const AxisChar* pNamespace)=0;
00113     virtual unsigned int AXISCALL getAttributeAsUnsignedInt(const AxisChar* 
00114         pName, const AxisChar* pNamespace)=0;
00115     virtual short AXISCALL getAttributeAsShort(const AxisChar* pName, 
00116         const AxisChar* pNamespace)=0;
00117     virtual unsigned short AXISCALL getAttributeAsUnsignedShort(const AxisChar*
00118         pName, const AxisChar* pNamespace)=0;
00119     virtual char AXISCALL getAttributeAsByte(const AxisChar* pName, 
00120         const AxisChar* pNamespace)=0;
00121     virtual unsigned char AXISCALL getAttributeAsUnsignedByte(const AxisChar* 
00122         pName, const AxisChar* pNamespace)=0;
00123     virtual long AXISCALL getAttributeAsLong(const AxisChar* pName, 
00124         const AxisChar* pNamespace)=0;
00125     virtual long AXISCALL getAttributeAsInteger(const AxisChar* pName, 
00126         const AxisChar* pNamespace)=0;
00127     virtual unsigned long AXISCALL getAttributeAsUnsignedLong(const AxisChar* 
00128         pName, const AxisChar* pNamespace)=0;
00129     virtual float AXISCALL getAttributeAsFloat(const AxisChar* pName, 
00130         const AxisChar* pNamespace)=0;
00131     virtual double AXISCALL getAttributeAsDouble(const AxisChar* pName, 
00132         const AxisChar* pNamespace)=0;
00133     virtual double AXISCALL getAttributeAsDecimal(const AxisChar* pName, 
00134         const AxisChar* pNamespace)=0;
00135     virtual AxisChar* AXISCALL getAttributeAsString(const AxisChar* pName, 
00136         const AxisChar* pNamespace)=0;
00137     virtual AxisChar* AXISCALL getAttributeAsAnyURI(const AxisChar* pName, 
00138         const AxisChar* pNamespace)=0;
00139     virtual AxisChar* AXISCALL getAttributeAsQName(const AxisChar* pName, 
00140         const AxisChar* pNamespace)=0;
00141     virtual xsd__hexBinary AXISCALL getAttributeAsHexBinary(const AxisChar* 
00142         pName, const AxisChar* pNamespace)=0;
00143     virtual xsd__base64Binary AXISCALL getAttributeAsBase64Binary(const 
00144         AxisChar* pName, const AxisChar* pNamespace)=0;
00145     virtual struct tm AXISCALL getAttributeAsDateTime(const AxisChar* pName, 
00146         const AxisChar* pNamespace)=0;
00147     virtual struct tm AXISCALL getAttributeAsDate(const AxisChar* pName, 
00148         const AxisChar* pNamespace)=0;
00149     virtual struct tm AXISCALL getAttributeAsTime(const AxisChar* pName, 
00150         const AxisChar* pNamespace)=0;
00151     virtual long AXISCALL getAttributeAsDuration(const AxisChar* pName, 
00152         const AxisChar* pNamespace)=0;
00153     virtual int AXISCALL getStatus()=0;
00154     
00155     /* Externalization of deserializer API */
00156 //    virtual int setInputStream(SOAPTransport* pInputStream)=0;
00157 //    virtual int init()=0;
00158 //    virtual PROVIDERTYPE getCurrentProviderType()=0;
00159 //    virtual void setCurrentProviderType(PROVIDERTYPE nType)=0;    
00160     virtual AXIS_BINDING_STYLE getStyle()=0;    
00161     virtual void setStyle(AXIS_BINDING_STYLE nStyle)=0;
00162     virtual int getVersion()=0;
00163     virtual int getHeader()=0;    
00164         virtual AnyType* AXISCALL getAnyObject()=0;            
00165     virtual void getChardataAs(void* pValue, XSDTYPE type)=0;
00166 };
00167 
00168 AXIS_CPP_NAMESPACE_END
00169 
00170 #endif

Generated on Fri Dec 3 18:43:42 2004 for AxisC++ by doxygen1.2.18