Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ParamValue.cpp

Go to the documentation of this file.
00001 // /******************************************************************************\
00002 // *
00003 // * File:          ParamValue.cpp
00004 // * Creation date: May 17, 2001 11:37
00005 // * Author:        ClassBuilder
00006 // *                XXXX
00007 // * Purpose:       Method implementations of class 'SCParamValue'
00008 // *
00009 // * Modifications: @INSERT_MODIFICATIONS(* )
00010 // * June 19, 2001 16:42 WERS
00011 // *     Added member 'm_convInfo'
00012 // *     Added member 'm_convId'
00013 // *     Updated member 'm_dyn'
00014 // * June 15, 2001 15:02 WERS
00015 // *     Updated code of method 'SCParamValue'
00016 // * June 15, 2001 14:39 WERS
00017 // *     Updated interface of method 'SCParamValue'
00018 // * June 08, 2001 13:01 WERS
00019 // *     Updated code of method 'SCParamValue'
00020 // * June 08, 2001 09:36 WERS
00021 // *     Deleted method 'SCParamValue'
00022 // *     Added method 'SCParamValue'
00023 // *     Updated member 'm_prmKind'
00024 // *     Updated member 'm_prmName'
00025 // *     Updated member 'm_dyn'
00026 // * June 08, 2001 09:06 WERS
00027 // *     Deleted member 'm_pMethParam'
00028 // *     Added method 'SCParamValue'
00029 // *     Added member 'm_prmKind'
00030 // *     Added member 'm_prmName'
00031 // * June 06, 2001 16:18 WERS
00032 // *     Updated code of method 'SCParamValue'
00033 // * June 06, 2001 16:15 WERS
00034 // *     Deleted method 'CopyDynAny'
00035 // *     Deleted method 'SCParamValue'
00036 // *     Added method 'SCParamValue'
00037 // *     Added member 'm_pMethParam'
00038 // * June 06, 2001 16:04 WERS
00039 // *     Added method 'CopyDynAny'
00040 // *     Updated code of method '~SCParamValue'
00041 // * May 17, 2001 11:37 WERS
00042 // *     Added method 'DestructorInclude'
00043 // *     Added method 'ConstructorInclude'
00044 // *     Added method '~SCParamValue'
00045 // *     Added method 'SCParamValue'
00046 // *     Added relation 'ParamList(SCParamList) <>-->> ParamValue(SCParamValue)'
00047 // *     Added relation 'ParamValue(SCParamValue) <>-->> FieldValue(SCFieldValue)'
00048 // *     Added member 'm_dyn'
00049 // *
00050 // *
00051 // \******************************************************************************/
00052 //@START_USER1
00057 /* --------------------------------------------------------------
00058 Copyright (C) 2001 LifeLine Networks BV <soap2corba@lifeline.nl>
00059 
00060 This program is free software; you can redistribute it and/or
00061 modify it under the terms of the GNU General Public License
00062 as published by the Free Software Foundation; either
00063 version 2 of the License, or (at your option) any later
00064 version.
00065 
00066 This program is distributed in the hope that it will be useful,
00067 but WITHOUT ANY WARRANTY; without even the implied warranty of
00068 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00069 GNU General Public License for more details.
00070 
00071 You should have received a copy of the GNU General Public License
00072 along with this program; if not, write to the Free Software
00073 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00074 -------------------------------------------------------------- */
00075 //@END_USER1
00076 
00077 
00078 // Master include file
00079 #include "SoapCorba.h"
00080 
00081 
00082 //@START_USER2
00083 //@END_USER2
00084 
00085 
00086 // Static members
00087 
00088 
00092 SCParamValue::SCParamValue(SCParamList* pParamList,
00093                            DynamicAny::DynAnyFactory_ptr dynFact,
00094                            SCMethParam* pMP) //@INIT_2195
00095     : m_prmName(pMP->m_prmName)
00096     , m_prmKind(pMP->m_prmKind)
00097     , m_convId(pMP->m_convId)
00098     , m_convInfo(pMP->m_convInfo)
00099 {//@CODE_2195
00100     ConstructorInclude(pParamList);
00101 
00102     m_dyn = dynFact->create_dyn_any_from_type_code (pMP->m_tc);
00103 }//@CODE_2195
00104 
00105 
00109 SCParamValue::~SCParamValue()
00110 {//@CODE_576
00111     DestructorInclude();
00112 
00113     m_dyn->destroy ();
00114 }//@CODE_576
00115 
00116 
00117 //{{AFX DO NOT EDIT CODE BELOW THIS LINE !!!
00118 
00122 void SCParamValue::ConstructorInclude(SCParamList* pParamList)
00123 {
00124     // INIT_MULTI_OWNED_PASSIVE(SCParamList, ParamList, SCParamValue, ParamValue)
00125     assert(this);
00126     assert(pParamList);
00127     pParamList->_countParamValue++;
00128 
00129     _refParamList = pParamList;
00130 
00131     if (pParamList->_lastParamValue)
00132     {
00133         _nextParamList = (SCParamValue*)0;
00134         _prevParamList = pParamList->_lastParamValue;
00135         _prevParamList->_nextParamList = this;
00136         pParamList->_lastParamValue = this;
00137     }
00138     else
00139     {
00140         _prevParamList = (SCParamValue*)0;
00141         _nextParamList = (SCParamValue*)0;
00142         pParamList->_firstParamValue = pParamList->_lastParamValue = this;
00143     }
00144 }
00145 
00146 
00150 void SCParamValue::DestructorInclude()
00151 {
00152     // EXIT_MULTI_OWNED_PASSIVE(SCParamList, ParamList, SCParamValue, ParamValue)
00153     
00154     assert(this);
00155     if (_refParamList)
00156     {
00157         SCParamList::ParamValueIterator::Check(this);
00158 
00159         _refParamList->_countParamValue--;
00160 
00161         if (_nextParamList)
00162             _nextParamList->_prevParamList = _prevParamList;
00163         else
00164             _refParamList->_lastParamValue = _prevParamList;
00165 
00166         if (_prevParamList)
00167             _prevParamList->_nextParamList = _nextParamList;
00168         else
00169             _refParamList->_firstParamValue = _nextParamList;
00170 
00171         _prevParamList = (SCParamValue*)0;
00172         _nextParamList = (SCParamValue*)0;
00173         _refParamList = (SCParamList*)0;
00174     }
00175 }
00176 
00177 
00178 // Methods for the relation(s) of the class
00179 // METHODS_MULTI_OWNED_PASSIVE(SCParamList, ParamList, SCParamValue, ParamValue)
00180 
00181 //}}AFX DO NOT EDIT CODE ABOVE THIS LINE !!!
00182 
00183 //@START_USER3
00184 

This documentation is part of the "SOAP to CORBA bridge" project
Copyright © 2000 by Lifeline Networks bv.
All rights are reserved.