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

MethParam.cpp

Go to the documentation of this file.
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 

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