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

Generated on Fri Jul 9 13:18:29 2004 for AxisC++ by doxygen1.2.18