Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages | Examples

IWrapperSoapDeSerializer.hpp

00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003 // (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
00004  *
00005  *   Licensed under the Apache License, Version 2.0 (the "License");
00006  *   you may not use this file except in compliance with the License.
00007  *   You may obtain a copy of the License at
00008  *
00009  *       http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  *   Unless required by applicable law or agreed to in writing, software
00012  *   distributed under the License is distributed on an "AS IS" BASIS,
00013  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  *   See the License for the specific language governing permissions and
00015  *   limitations under the License.
00016  */
00017 
00018 #if !defined(_IWRAPPERSOAPDESERIALIZER_H____OF_AXIS_INCLUDED_)
00019 #define _IWRAPPERSOAPDESERIALIZER_H____OF_AXIS_INCLUDED_
00020 
00021 #include "AxisUserAPI.hpp"
00022 #include "TypeMapping.hpp"
00023 #include "WSDDDefines.hpp"
00024 #include "ISoapAttachment.hpp"
00034 AXIS_CPP_NAMESPACE_START
00035 
00036 class IWrapperSoapDeSerializer
00037 {
00038 public:
00039     virtual ~IWrapperSoapDeSerializer(){};
00040 
00041     virtual int AXISCALL checkMessageBody(const AxisChar* pName, 
00042         const AxisChar* pNamespace)=0;
00043     virtual void* AXISCALL checkForFault(const AxisChar* pName, 
00044         const AxisChar* pNamespace)=0;
00045     /* Method used by wrappers to get a deserialized Array of complex types */
00046     virtual Axis_Array AXISCALL getCmplxArray(void* pDZFunct, void* pCreFunct, 
00047         void* pDelFunct, void* pSizeFunct, const AxisChar* pName, 
00048         const AxisChar* pNamespace)=0;
00049     /* Method used by wrappers to get a deserialized Array of basic types */
00050     virtual Axis_Array AXISCALL getBasicArray(XSDTYPE nType, 
00051         const AxisChar* pName, const AxisChar* pNamespace)=0;
00052     /* Method used by wrappers to get a deserialized single object of 
00053      * complex type 
00054      */
00055     virtual void* AXISCALL getCmplxObject(void* pDZFunct, void* pCreFunct, 
00056         void* pDelFunct, const AxisChar* pName, const AxisChar* pNamespace)=0;
00057     
00058     /* Methods used by wrappers to get a deserialized value of basic types */
00059     virtual xsd__int * AXISCALL getElementAsInt(const AxisChar* pName, 
00060         const AxisChar* pNamespace)=0;
00061     virtual xsd__boolean * AXISCALL getElementAsBoolean(const AxisChar* pName, 
00062         const AxisChar* pNamespace)=0;
00063     virtual xsd__unsignedInt * AXISCALL getElementAsUnsignedInt(const AxisChar* 
00064         pName, const AxisChar* pNamespace)=0;
00065     virtual xsd__short * AXISCALL getElementAsShort(const AxisChar* pName, 
00066         const AxisChar* pNamespace)=0;
00067     virtual xsd__unsignedShort * AXISCALL getElementAsUnsignedShort(const AxisChar* 
00068         pName, const AxisChar* pNamespace)=0;
00069     virtual xsd__byte * AXISCALL getElementAsByte(const AxisChar* pName, 
00070         const AxisChar* pNamespace)=0;
00071     virtual xsd__unsignedByte * AXISCALL getElementAsUnsignedByte(const AxisChar* 
00072         pName, const AxisChar* pNamespace)=0;
00073     virtual xsd__long * AXISCALL getElementAsLong(const AxisChar* pName, 
00074         const AxisChar* pNamespace)=0;
00075     virtual xsd__integer * AXISCALL getElementAsInteger(const AxisChar* pName, 
00076         const AxisChar* pNamespace)=0;
00077     virtual xsd__unsignedLong * AXISCALL getElementAsUnsignedLong(const AxisChar* 
00078         pName, const AxisChar* pNamespace)=0;
00079     virtual xsd__float * AXISCALL getElementAsFloat(const AxisChar* pName, 
00080         const AxisChar* pNamespace)=0;
00081     virtual xsd__double * AXISCALL getElementAsDouble(const AxisChar* pName, 
00082         const AxisChar* pNamespace)=0;
00083     virtual xsd__decimal * AXISCALL getElementAsDecimal(const AxisChar* pName, 
00084         const AxisChar* pNamespace)=0;
00085     virtual xsd__string AXISCALL getElementAsString(const AxisChar* pName, 
00086         const AxisChar* pNamespace)=0;
00087     virtual xsd__anyURI AXISCALL getElementAsAnyURI(const AxisChar* pName, 
00088         const AxisChar* pNamespace)=0;
00089     virtual xsd__QName AXISCALL getElementAsQName(const AxisChar* pName, 
00090         const AxisChar* pNamespace)=0;
00091     virtual xsd__hexBinary * AXISCALL getElementAsHexBinary(const AxisChar* 
00092         pName, const AxisChar* pNamespace)=0;
00093     virtual xsd__base64Binary * AXISCALL getElementAsBase64Binary(const AxisChar*
00094         pName, const AxisChar* pNamespace)=0;
00095     virtual xsd__dateTime * AXISCALL getElementAsDateTime(const AxisChar* pName, 
00096         const AxisChar* pNamespace)=0;
00097     virtual xsd__date * AXISCALL getElementAsDate(const AxisChar* pName, 
00098         const AxisChar* pNamespace)=0;
00099     virtual xsd__time * AXISCALL getElementAsTime(const AxisChar* pName, 
00100         const AxisChar* pNamespace)=0;
00101     virtual xsd__duration * AXISCALL getElementAsDuration(const AxisChar* pName, 
00102         const AxisChar* pNamespace)=0;
00103 
00104 
00105     virtual xsd__int * AXISCALL getAttributeAsInt(const AxisChar* pName, 
00106         const AxisChar* pNamespace)=0;
00107     virtual xsd__boolean * AXISCALL getAttributeAsBoolean(const AxisChar* pName, 
00108         const AxisChar* pNamespace)=0;
00109     virtual xsd__unsignedInt * AXISCALL getAttributeAsUnsignedInt(const AxisChar* 
00110         pName, const AxisChar* pNamespace)=0;
00111     virtual xsd__short * AXISCALL getAttributeAsShort(const AxisChar* pName, 
00112         const AxisChar* pNamespace)=0;
00113     virtual xsd__unsignedShort * AXISCALL getAttributeAsUnsignedShort(const AxisChar*
00114         pName, const AxisChar* pNamespace)=0;
00115     virtual xsd__byte * AXISCALL getAttributeAsByte(const AxisChar* pName, 
00116         const AxisChar* pNamespace)=0;
00117     virtual xsd__unsignedByte * AXISCALL getAttributeAsUnsignedByte(const AxisChar* 
00118         pName, const AxisChar* pNamespace)=0;
00119     virtual xsd__long * AXISCALL getAttributeAsLong(const AxisChar* pName, 
00120         const AxisChar* pNamespace)=0;
00121     virtual xsd__integer * AXISCALL getAttributeAsInteger(const AxisChar* pName, 
00122         const AxisChar* pNamespace)=0;
00123     virtual xsd__unsignedLong * AXISCALL getAttributeAsUnsignedLong(const AxisChar* 
00124         pName, const AxisChar* pNamespace)=0;
00125     virtual xsd__float * AXISCALL getAttributeAsFloat(const AxisChar* pName, 
00126         const AxisChar* pNamespace)=0;
00127     virtual xsd__double * AXISCALL getAttributeAsDouble(const AxisChar* pName, 
00128         const AxisChar* pNamespace)=0;
00129     virtual xsd__decimal * AXISCALL getAttributeAsDecimal(const AxisChar* pName, 
00130         const AxisChar* pNamespace)=0;
00131     virtual xsd__string AXISCALL getAttributeAsString(const AxisChar* pName, 
00132         const AxisChar* pNamespace)=0;
00133     virtual xsd__anyURI AXISCALL getAttributeAsAnyURI(const AxisChar* pName, 
00134         const AxisChar* pNamespace)=0;
00135     virtual xsd__QName AXISCALL getAttributeAsQName(const AxisChar* pName, 
00136         const AxisChar* pNamespace)=0;
00137     virtual xsd__hexBinary * AXISCALL getAttributeAsHexBinary(const AxisChar* 
00138         pName, const AxisChar* pNamespace)=0;
00139     virtual xsd__base64Binary * AXISCALL getAttributeAsBase64Binary(const 
00140         AxisChar* pName, const AxisChar* pNamespace)=0;
00141     virtual xsd__dateTime * AXISCALL getAttributeAsDateTime(const AxisChar* pName, 
00142         const AxisChar* pNamespace)=0;
00143     virtual xsd__date * AXISCALL getAttributeAsDate(const AxisChar* pName, 
00144         const AxisChar* pNamespace)=0;
00145     virtual xsd__time * AXISCALL getAttributeAsTime(const AxisChar* pName, 
00146         const AxisChar* pNamespace)=0;
00147     virtual xsd__duration * AXISCALL getAttributeAsDuration(const AxisChar* pName, 
00148         const AxisChar* pNamespace)=0;
00149     virtual int AXISCALL getStatus()=0;
00150     
00151     /* Externalization of deserializer API */
00152 //    virtual int setInputStream(SOAPTransport* pInputStream)=0;
00153 //    virtual int init()=0;
00154 //    virtual PROVIDERTYPE getCurrentProviderType()=0;
00155 //    virtual void setCurrentProviderType(PROVIDERTYPE nType)=0;    
00156     virtual AXIS_BINDING_STYLE getStyle()=0;    
00157     virtual void setStyle(AXIS_BINDING_STYLE nStyle)=0;
00158     virtual int getVersion()=0;
00159     virtual int getHeader()=0;    
00160         virtual AnyType* AXISCALL getAnyObject()=0;            
00161     virtual void getChardataAs(void* pValue, XSDTYPE type)=0;
00162         virtual ISoapAttachment* getAttachment(const char* pcAttachmentid)=0;
00163 };
00164 
00165 AXIS_CPP_NAMESPACE_END
00166 
00167 #endif

Generated on Sat Apr 9 15:02:03 2005 for AxisC++ by doxygen 1.3.6