Main Page   Class Hierarchy   Compound List   File List   Compound Members  

IWrapperSoapDeSerializer.h

00001 /* -*- C++ -*- */
00002 /*
00003  * The Apache Software License, Version 1.1
00004  *
00005  *
00006  * Copyright (c) 2002 The Apache Software Foundation.  All rights
00007  * reserved.
00008  *
00009  * Redistribution and use in source and binary forms, with or without
00010  * modification, are permitted provided that the following conditions
00011  * are met:
00012  *
00013  * 1. Redistributions of source code must retain the above copyright
00014  *    notice, this list of conditions and the following disclaimer.
00015  *
00016  * 2. Redistributions in binary form must reproduce the above copyright
00017  *    notice, this list of conditions and the following disclaimer in
00018  *    the documentation and/or other materials provided with the
00019  *    distribution.
00020  *
00021  * 3. The end-user documentation included with the redistribution,
00022  *    if any, must include the following acknowledgment:
00023  *       "This product includes software developed by the
00024  *        Apache Software Foundation (http://www.apache.org/)."
00025  *    Alternately, this acknowledgment may appear in the software itself,
00026  *    if and wherever such third-party acknowledgments normally appear.
00027  *
00028  * 4. The names "SOAP" and "Apache Software Foundation" must
00029  *    not be used to endorse or promote products derived from this
00030  *    software without prior written permission. For written
00031  *    permission, please contact apache@apache.org.
00032  *
00033  * 5. Products derived from this software may not be called "Apache",
00034  *    nor may "Apache" appear in their name, without prior written
00035  *    permission of the Apache Software Foundation.
00036  *
00037  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
00038  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00039  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00040  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
00041  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00042  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00043  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
00044  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00045  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00046  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
00047  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00048  * SUCH DAMAGE.
00049  * ====================================================================
00050  *
00051  * This software consists of voluntary contributions made by many
00052  * individuals on behalf of the Apache Software Foundation.  For more
00053  * information on the Apache Software Foundation, please see
00054  * <http://www.apache.org/>.
00055  *
00056  *
00057  */
00058 
00059 // IWrapperSoapDeSerializer.h: 
00060 //
00062 
00063 #if !defined(AFX_IWRAPPERSOAPDESERIALIZER_H__A6C89D23_4098_4A73_BFD7_D8F115AD9BA0__INCLUDED_)
00064 #define AFX_IWRAPPERSOAPDESERIALIZER_H__A6C89D23_4098_4A73_BFD7_D8F115AD9BA0__INCLUDED_
00065 
00066 #include "ISoapDeSerializer.h"
00067 #include "GDefine.h"
00068 #include "AxisUserAPI.h"
00069 #include "TypeMapping.h"
00070 #include <string>
00071 using namespace std;
00072 class IParam;
00073 
00081 class IWrapperSoapDeSerializer : public virtual ISoapDeSerializer
00082 {
00083 public:
00084         virtual const AxisChar* GetMethodName()=0;
00085         virtual IParam* GetParam()=0;
00086         virtual int Deserialize(IParam* pIParam, int bHref)=0;
00087         virtual ~IWrapperSoapDeSerializer() {};
00088 
00090         virtual Axis_Array GetArray(void* pDZFunct, void* pCreFunct, void* pDelFunct, void* pSizeFunct, const AxisChar* pchTypeName, const AxisChar* pchURI)=0;
00092         virtual Axis_Array GetArray(XSDTYPE nType)=0;
00093         virtual int GetArraySize()=0;
00094         virtual int GetArray(Axis_Array* pArray, XSDTYPE nType)=0;
00096         virtual void* GetObject(void* pDZFunct, void* pCreFunct, void* pDelFunct, const AxisChar* pchTypeName, const AxisChar* pchURI)=0;
00097         
00098         /* Methods used by wrappers to get a deserialized value of basic types */
00099         virtual int GetInt() = 0;
00100     virtual unsigned int GetUnsignedInt() = 0;
00101     virtual short GetShort() = 0;
00102     virtual unsigned short GetUnsignedShort() = 0;
00103     virtual char GetByte() = 0;
00104     virtual unsigned char GetUnsignedByte() = 0;
00105     virtual long GetLong() = 0;
00106     virtual long GetInteger() = 0;
00107     virtual unsigned long GetUnsignedLong() = 0;
00108         virtual float GetFloat() = 0;
00109     virtual double GetDouble() = 0;
00110     virtual double GetDecimal() = 0;
00111         virtual const AxisChar* GetString() = 0;
00112     virtual const AxisChar* GetAnyURI() = 0;
00113     virtual const AxisChar* GetQName() = 0;
00114         virtual const AxisChar* GetHexString() = 0;
00115         virtual const AxisChar* GetBase64String() = 0;
00118     virtual struct tm GetDateTime() = 0;
00119     virtual struct tm GetDate() = 0;
00120     virtual struct tm GetTime() = 0;
00123     virtual long GetDuration() = 0;
00124         virtual int GetStatus() = 0;
00125 };
00126 
00127 #endif // !defined(AFX_IWRAPPERSOAPDESERIALIZER_H__A6C89D23_4098_4A73_BFD7_D8F115AD9BA0__INCLUDED_)

Generated on Wed Dec 24 18:04:58 2003 for axisc++ by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002