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

Param.h

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 #ifdef WIN32
00018 #pragma warning (disable : 4786)
00019 #endif
00020 
00021 #if !defined(_PARAM_H____OF_AXIS_INCLUDED_)
00022 #define _PARAM_H____OF_AXIS_INCLUDED_
00023 
00024 #include "IParam.h"
00025 #include "BasicTypeSerializer.h"
00026 #include "AxisTime.h"
00027 
00028 #include <string>
00029 using namespace std;
00030 
00031 class ArrayBean;
00032 /*
00033  *  @class Param
00034  *  @brief interface for the Param class.
00035  *
00036  *
00037  *  @author Susantha Kumara (skumara@virtusa.com)
00038  */
00039 class Param : public IParam
00040 {
00041     friend class SoapSerializer;
00042     friend class SoapFault;
00043 public:
00044     Param(){ m_Type = USER_TYPE;}; 
00045     /* if there is no attribute that says the type */
00046     virtual ~Param();
00047 
00048 private:
00049     uParamValue m_Value;
00050     AxisString m_sName; /* Name of the parameter */
00051     XSDTYPE m_Type; /* Type of the parameter */
00052 
00053 private:
00054     AxisString m_strPrefix; /* needed in serialization only */
00055     AxisString m_strUri; /* needed in serialization only */
00056 
00057 public: 
00058     int setValue(XSDTYPE nType, uParamValue Value);
00059     int serialize(SoapSerializer& pSZ);
00060     void setPrefix(const AxisChar* prefix);
00061     void setUri(const AxisChar* uri);
00062     int setArrayElements(void* pElements);
00063     int setArrayElements(void* pObject, AXIS_DESERIALIZE_FUNCT pDZFunct, 
00064         AXIS_OBJECT_DELETE_FUNCT pDelFunct, AXIS_OBJECT_SIZE_FUNCT pSizeFunct);
00065     int setUserType(void* pObject, AXIS_DESERIALIZE_FUNCT pDZFunct, 
00066         AXIS_OBJECT_DELETE_FUNCT pDelFunct);
00067     void setName(const AxisChar* sName);
00068 };
00069 
00070 #endif 
00071 
00072 

Generated on Tue Jun 29 09:27:57 2004 for AxisC++ by doxygen1.2.18