00001 // /******************************************************************************\ 00002 // * 00003 // * File: MethParam.cpp 00004 // * Creation date: May 17, 2001 11:37 00005 // * Author: ClassBuilder 00006 // * XXXX 00007 // * Purpose: Method implementations of class 'SCMethParam' 00008 // * 00009 // * Modifications: @INSERT_MODIFICATIONS(* ) 00010 // * June 19, 2001 16:42 WERS 00011 // * Added member 'm_convInfo' 00012 // * Added member 'm_convId' 00013 // * June 15, 2001 15:37 WERS 00014 // * Updated interface of method 'SCMethParam' 00015 // * June 15, 2001 15:20 WERS 00016 // * Updated code of method 'SCMethParam' 00017 // * June 15, 2001 15:02 WERS 00018 // * Updated code of method 'SCMethParam' 00019 // * June 15, 2001 14:50 WERS 00020 // * Updated interface of method 'SCMethParam' 00021 // * June 15, 2001 14:48 WERS 00022 // * Updated interface of method 'SCMethParam' 00023 // * June 15, 2001 14:36 WERS 00024 // * Deleted method 'GetDynAnyPtr' 00025 // * Deleted member 'm_DynEmptyValue' 00026 // * Deleted method 'SCMethParam' 00027 // * Added method 'SCMethParam' 00028 // * Added member 'm_tc' 00029 // * May 17, 2001 11:37 WERS 00030 // * Added method 'DestructorInclude' 00031 // * Added method 'ConstructorInclude' 00032 // * Added method 'getMthId' 00033 // * Added method '~SCMethParam' 00034 // * Added method 'SCMethParam' 00035 // * Added relation 'InterfaceMethod(SCInterfaceMethod) <>-->> MethParam(SCMethParam)' 00036 // * Added relation 'MethParam(SCMethParam) <>-->> ParamField(SCParamField)' 00037 // * Added member 'm_prmName' 00038 // * Added member 'm_DynEmptyValue' 00039 // * Added member 'm_prmKind' 00040 // * Added member 'm_prmId' 00041 // * Updated return type of method 'AllocateDynAny' 00042 // * 00043 // * 00044 // \******************************************************************************/ 00045 //@START_USER1 00050 /* -------------------------------------------------------------- 00051 Copyright (C) 2001 LifeLine Networks BV <soap2corba@lifeline.nl> 00052 00053 This program is free software; you can redistribute it and/or 00054 modify it under the terms of the GNU General Public License 00055 as published by the Free Software Foundation; either 00056 version 2 of the License, or (at your option) any later 00057 version. 00058 00059 This program is distributed in the hope that it will be useful, 00060 but WITHOUT ANY WARRANTY; without even the implied warranty of 00061 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00062 GNU General Public License for more details. 00063 00064 You should have received a copy of the GNU General Public License 00065 along with this program; if not, write to the Free Software 00066 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00067 -------------------------------------------------------------- */ 00068 //@END_USER1 00069 00070 00071 // Master include file 00072 #include "SoapCorba.h" 00073 00074 00075 //@START_USER2 00076 //@END_USER2 00077 00078 00079 // Static members 00080 00081 00085 SCMethParam::SCMethParam(SCInterfaceMethod* pInterfaceMethod, int prmId, 00086 const char* prmName, InOutExcept prmKind, 00087 CORBA::TypeCode_ptr ptc, 00088 CORBA::ORB_ptr orb) //@INIT_2236 00089 : m_prmId(prmId) 00090 , m_prmKind(prmKind) 00091 , m_prmName(prmName) 00092 , m_convId(0) 00093 , m_convInfo() 00094 {//@CODE_2236 00095 ConstructorInclude(pInterfaceMethod); 00096 00097 m_tc = CORBA::TypeCode::_duplicate (ptc); 00098 }//@CODE_2236 00099 00100 00104 SCMethParam::~SCMethParam() 00105 {//@CODE_38 00106 DestructorInclude(); 00107 00108 // Put in your own code 00109 }//@CODE_38 00110 00111 00112 //{{AFX DO NOT EDIT CODE BELOW THIS LINE !!! 00113 00117 void SCMethParam::ConstructorInclude(SCInterfaceMethod* pInterfaceMethod) 00118 { 00119 // INIT_MULTI_OWNED_PASSIVE(SCInterfaceMethod, InterfaceMethod, SCMethParam, MethParam) 00120 assert(this); 00121 assert(pInterfaceMethod); 00122 pInterfaceMethod->_countMethParam++; 00123 00124 _refInterfaceMethod = pInterfaceMethod; 00125 00126 if (pInterfaceMethod->_lastMethParam) 00127 { 00128 _nextInterfaceMethod = (SCMethParam*)0; 00129 _prevInterfaceMethod = pInterfaceMethod->_lastMethParam; 00130 _prevInterfaceMethod->_nextInterfaceMethod = this; 00131 pInterfaceMethod->_lastMethParam = this; 00132 } 00133 else 00134 { 00135 _prevInterfaceMethod = (SCMethParam*)0; 00136 _nextInterfaceMethod = (SCMethParam*)0; 00137 pInterfaceMethod->_firstMethParam = pInterfaceMethod->_lastMethParam = this; 00138 } 00139 } 00140 00141 00145 void SCMethParam::DestructorInclude() 00146 { 00147 // EXIT_MULTI_OWNED_PASSIVE(SCInterfaceMethod, InterfaceMethod, SCMethParam, MethParam) 00148 00149 assert(this); 00150 if (_refInterfaceMethod) 00151 { 00152 SCInterfaceMethod::MethParamIterator::Check(this); 00153 00154 _refInterfaceMethod->_countMethParam--; 00155 00156 if (_nextInterfaceMethod) 00157 _nextInterfaceMethod->_prevInterfaceMethod = _prevInterfaceMethod; 00158 else 00159 _refInterfaceMethod->_lastMethParam = _prevInterfaceMethod; 00160 00161 if (_prevInterfaceMethod) 00162 _prevInterfaceMethod->_nextInterfaceMethod = _nextInterfaceMethod; 00163 else 00164 _refInterfaceMethod->_firstMethParam = _nextInterfaceMethod; 00165 00166 _prevInterfaceMethod = (SCMethParam*)0; 00167 _nextInterfaceMethod = (SCMethParam*)0; 00168 _refInterfaceMethod = (SCInterfaceMethod*)0; 00169 } 00170 } 00171 00172 00173 // Methods for the relation(s) of the class 00174 // METHODS_MULTI_OWNED_PASSIVE(SCInterfaceMethod, InterfaceMethod, SCMethParam, MethParam) 00175 00176 //}}AFX DO NOT EDIT CODE ABOVE THIS LINE !!! 00177 00178 //@START_USER3 00179