#include <Dependency.h>
Inheritance diagram for Omniifr::Dependency2< T_IRObjectSeq >:


Public Member Functions | |
| Dependency2 (IRObject_impl *owner) | |
| virtual | ~Dependency2 () |
| const T_IRObjectSeq & | in () |
| T_IRObjectSeq * | copy () |
| void | assign (const T_IRObjectSeq &irobjectSeq) |
| void | clear () |
| release the current dependencies. | |
Private Member Functions | |
| void | check (const T_IRObjectSeq &irobjectSeq) |
| Throws BAD_PARAM if any description in the sequence has the same name as any other, or if a NIL reference is found. | |
| void | set (const T_IRObjectSeq &irobjectSeq) |
| establish a new set of dependencies. | |
Private Attributes | |
| T_IRObjectSeq | _irobjectSeq |
| list< IRObject_impl * > | _servants |
Definition at line 148 of file Dependency.h.
|
||||||||||
|
Definition at line 154 of file Dependency.h. 00155 :DependencyBase(owner),_irobjectSeq(),_servants(){}
|
|
|||||||||
|
Definition at line 156 of file Dependency.h. 00156 {}
|
|
||||||||||
|
Definition at line 159 of file Dependency.h. Referenced by Omniifr::InterfaceDef_impl::base_interfaces(), Omniifr::OperationDef_impl::exceptions(), Omniifr::OperationDef_impl::reincarnate(), and Omniifr::InterfaceDef_impl::reincarnate(). 00160 {
00161 check(irobjectSeq); // Throws BAD_PARAM if a problem is found.
00162 clear(); // Does not throw any exceptions.
00163 set(irobjectSeq);
00164 }
|
|
||||||||||
|
Throws BAD_PARAM if any description in the sequence has the same name as any other, or if a NIL reference is found.
Definition at line 187 of file Dependency.h. Referenced by Omniifr::Dependency2< InterfaceDefSeq >::assign(). 00188 {
00189 for(CORBA::ULong i(0); i<irobjectSeq.length(); i++)
00190 {
00191 if(CORBA::is_nil(irobjectSeq[i]))
00192 throw CORBA::BAD_PARAM(
00193 IFELSE_OMNIORB4(omni::BAD_PARAM_InvalidObjectRef,43),
00194 CORBA::COMPLETED_NO
00195 );
00196 }
00197 }
|
|
|||||||||
|
release the current dependencies.
Definition at line 166 of file Dependency.h. Referenced by Omniifr::Dependency2< InterfaceDefSeq >::assign(), Omniifr::OperationDef_impl::uncheckedDestroy(), and Omniifr::InterfaceDef_impl::uncheckedDestroy(). 00167 {
00168 for(typename list<IRObject_impl*>::iterator i=_servants.begin();
00169 i!=_servants.end();
00170 ++i)
00171 {
00172 if(*i)
00173 (*i)->undepend(this);
00174 }
00175 _servants.clear();
00176 _irobjectSeq.length(0);
00177 }
|
|
|||||||||
|
Definition at line 158 of file Dependency.h. Referenced by Omniifr::InterfaceDef_impl::base_interfaces(), and Omniifr::OperationDef_impl::exceptions(). 00158 {return new T_IRObjectSeq(_irobjectSeq);}
|
|
|||||||||
|
Definition at line 157 of file Dependency.h. Referenced by Omniifr::InterfaceDef_impl::baseInterfacesIds(), Omniifr::InterfaceDef_impl::checkInheritedNameClash(), Omniifr::InterfaceDef_impl::contents(), Omniifr::InterfaceDef_impl::is_a(), Omniifr::OperationDef_impl::output(), and Omniifr::InterfaceDef_impl::output(). 00157 {return _irobjectSeq;}
|
|
||||||||||
|
establish a new set of dependencies.
Definition at line 202 of file Dependency.h. Referenced by Omniifr::Dependency2< InterfaceDefSeq >::assign(). 00203 {
00204 assert(_servants.empty());
00205 assert(0==_irobjectSeq.length());
00206 _irobjectSeq=irobjectSeq;
00207 for(CORBA::ULong i(0); i<irobjectSeq.length(); i++)
00208 {
00209 IRObject_impl* irobject =referenceToServant(irobjectSeq[i]); // _add_ref()
00210 if(irobject)
00211 {
00212 irobject->depend(this);
00213 irobject->_remove_ref(); // _rem_ref()
00214 }
00215 _servants.push_back(irobject);
00216 }
00217 }
|
|
|||||
|
Definition at line 151 of file Dependency.h. |
|
|||||
|
Definition at line 152 of file Dependency.h. |
1.4.1