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 * 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 #include "ISoapAttachment.hpp" 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 virtual xsd__long AXISCALL getElementAsLong(const AxisChar* pName, 00074 const AxisChar* pNamespace)=0; 00075 virtual long AXISCALL getElementAsInteger(const AxisChar* pName, 00076 const AxisChar* pNamespace)=0; 00077 virtual unsigned long AXISCALL getElementAsUnsignedLong(const AxisChar* 00078 pName, const AxisChar* pNamespace)=0; 00079 virtual float AXISCALL getElementAsFloat(const AxisChar* pName, 00080 const AxisChar* pNamespace)=0; 00081 virtual double AXISCALL getElementAsDouble(const AxisChar* pName, 00082 const AxisChar* pNamespace)=0; 00083 virtual double AXISCALL getElementAsDecimal(const AxisChar* pName, 00084 const AxisChar* pNamespace)=0; 00085 virtual AxisChar* AXISCALL getElementAsString(const AxisChar* pName, 00086 const AxisChar* pNamespace)=0; 00087 virtual AxisChar* AXISCALL getElementAsAnyURI(const AxisChar* pName, 00088 const AxisChar* pNamespace)=0; 00089 virtual AxisChar* 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 struct tm AXISCALL getElementAsDateTime(const AxisChar* pName, 00096 const AxisChar* pNamespace)=0; 00097 virtual struct tm AXISCALL getElementAsDate(const AxisChar* pName, 00098 const AxisChar* pNamespace)=0; 00099 virtual struct tm AXISCALL getElementAsTime(const AxisChar* pName, 00100 const AxisChar* pNamespace)=0; 00101 virtual long AXISCALL getElementAsDuration(const AxisChar* pName, 00102 const AxisChar* pNamespace)=0; 00103 00104 00105 virtual 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 unsigned int AXISCALL getAttributeAsUnsignedInt(const AxisChar* 00110 pName, const AxisChar* pNamespace)=0; 00111 virtual short AXISCALL getAttributeAsShort(const AxisChar* pName, 00112 const AxisChar* pNamespace)=0; 00113 virtual unsigned short AXISCALL getAttributeAsUnsignedShort(const AxisChar* 00114 pName, const AxisChar* pNamespace)=0; 00115 virtual char AXISCALL getAttributeAsByte(const AxisChar* pName, 00116 const AxisChar* pNamespace)=0; 00117 virtual unsigned char AXISCALL getAttributeAsUnsignedByte(const AxisChar* 00118 pName, const AxisChar* pNamespace)=0; 00119 virtual long AXISCALL getAttributeAsLong(const AxisChar* pName, 00120 const AxisChar* pNamespace)=0; 00121 virtual long AXISCALL getAttributeAsInteger(const AxisChar* pName, 00122 const AxisChar* pNamespace)=0; 00123 virtual unsigned long AXISCALL getAttributeAsUnsignedLong(const AxisChar* 00124 pName, const AxisChar* pNamespace)=0; 00125 virtual float AXISCALL getAttributeAsFloat(const AxisChar* pName, 00126 const AxisChar* pNamespace)=0; 00127 virtual double AXISCALL getAttributeAsDouble(const AxisChar* pName, 00128 const AxisChar* pNamespace)=0; 00129 virtual double AXISCALL getAttributeAsDecimal(const AxisChar* pName, 00130 const AxisChar* pNamespace)=0; 00131 virtual AxisChar* AXISCALL getAttributeAsString(const AxisChar* pName, 00132 const AxisChar* pNamespace)=0; 00133 virtual AxisChar* AXISCALL getAttributeAsAnyURI(const AxisChar* pName, 00134 const AxisChar* pNamespace)=0; 00135 virtual AxisChar* 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 struct tm AXISCALL getAttributeAsDateTime(const AxisChar* pName, 00142 const AxisChar* pNamespace)=0; 00143 virtual struct tm AXISCALL getAttributeAsDate(const AxisChar* pName, 00144 const AxisChar* pNamespace)=0; 00145 virtual struct tm AXISCALL getAttributeAsTime(const AxisChar* pName, 00146 const AxisChar* pNamespace)=0; 00147 virtual long 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 Tue Feb 8 14:34:17 2005 for AxisC++ by doxygen 1.3.8