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:11:57 2005 for AxisC++ by doxygen 1.3.8