#include <Dependency.h>
Inheritance diagram for Omniifr::Dependency3< T_xxxDescriptionSeq >:
Public Member Functions | |
Dependency3 (IRObject_impl *owner) | |
virtual | ~Dependency3 () |
const T_xxxDescriptionSeq & | in () |
T_xxxDescriptionSeq * | copy () |
void | assign (const T_xxxDescriptionSeq &descriptionSeq) |
void | uncheckedAssign (const T_xxxDescriptionSeq &descriptionSeq) |
Performs an assignment but does not call check(). | |
void | clear () |
release the current dependencies. | |
Private Member Functions | |
void | check (const T_xxxDescriptionSeq &descriptionSeq) |
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_xxxDescriptionSeq &descriptionSeq) |
establish a new set of dependencies. | |
Private Attributes | |
T_xxxDescriptionSeq | _descriptionSeq |
list< IRObject_impl * > | _servants |
Definition at line 231 of file Dependency.h.
|
Definition at line 237 of file Dependency.h. 00238 :DependencyBase(owner),_descriptionSeq(),_servants(){}
|
|
Definition at line 239 of file Dependency.h. 00239 {}
|
|
Definition at line 245 of file Dependency.h. Referenced by Omniifr::UnionDef_impl::discriminator_type_def(), Omniifr::StructDef_impl::members(), Omniifr::ExceptionDef_impl::members(), and Omniifr::OperationDef_impl::params(). 00246 { 00247 check(descriptionSeq); // Throws BAD_PARAM if a problem is found. 00248 uncheckedAssign(descriptionSeq); 00249 }
|
|
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 280 of file Dependency.h. Referenced by Omniifr::Dependency3< StructMemberSeq >::assign(). 00281 { 00282 for(CORBA::ULong i(0); i<descriptionSeq.length(); i++) 00283 { 00284 IdentifierUtil::checkInvalid(descriptionSeq[i].name); 00285 if(CORBA::is_nil(descriptionSeq[i].type_def)) 00286 throw CORBA::BAD_PARAM( 00287 IFELSE_OMNIORB4(omni::BAD_PARAM_InvalidObjectRef,43), 00288 CORBA::COMPLETED_NO 00289 ); 00290 for(CORBA::ULong j(i+1); j<descriptionSeq.length(); j++) 00291 { 00292 if(0==strcasecmp(descriptionSeq[i].name,descriptionSeq[j].name)) 00293 throw CORBA::BAD_PARAM( 00294 IFELSE_OMNIORB4(omni::BAD_PARAM_InvalidMemberName,17), 00295 CORBA::COMPLETED_NO 00296 ); 00297 } 00298 } 00299 }
|
|
release the current dependencies.
Definition at line 259 of file Dependency.h. Referenced by Omniifr::Dependency3< StructMemberSeq >::uncheckedAssign(), Omniifr::UnionDef_impl::uncheckedDestroy(), Omniifr::StructDef_impl::uncheckedDestroy(), Omniifr::OperationDef_impl::uncheckedDestroy(), and Omniifr::ExceptionDef_impl::uncheckedDestroy(). 00260 { 00261 for(typename list<IRObject_impl*>::iterator i=_servants.begin(); 00262 i!=_servants.end(); 00263 ++i) 00264 { 00265 if(*i) 00266 (*i)->undepend(this); 00267 } 00268 _servants.clear(); 00269 _descriptionSeq.length(0); 00270 }
|
|
Definition at line 241 of file Dependency.h. Referenced by Omniifr::UnionDef_impl::members(), Omniifr::StructDef_impl::members(), Omniifr::ExceptionDef_impl::members(), and Omniifr::OperationDef_impl::params(). 00242 { 00243 return new T_xxxDescriptionSeq(_descriptionSeq); 00244 }
|
|
|
establish a new set of dependencies.
Definition at line 304 of file Dependency.h. Referenced by Omniifr::Dependency3< StructMemberSeq >::uncheckedAssign(). 00305 { 00306 assert(_servants.empty()); 00307 assert(0==_descriptionSeq.length()); 00308 _descriptionSeq=descriptionSeq; 00309 for(CORBA::ULong i(0); i<descriptionSeq.length(); i++) 00310 { 00311 // referenceToServant() implicitly calls _add_ref() 00312 IRObject_impl* irobject =referenceToServant(descriptionSeq[i].type_def); 00313 if(irobject) 00314 { 00315 irobject->depend(this); 00316 // cancel the implicit _add_ref() in referenceToServant(). 00317 irobject->_remove_ref(); 00318 } 00319 _servants.push_back(irobject); 00320 } 00321 }
|
|
Performs an assignment but does not call check(). Used when the owner has already permormed its own checks (in UnionDef_impl). Definition at line 253 of file Dependency.h. Referenced by Omniifr::Dependency3< StructMemberSeq >::assign(), Omniifr::UnionDef_impl::members(), Omniifr::UnionDef_impl::reincarnate(), Omniifr::StructDef_impl::reincarnate(), Omniifr::OperationDef_impl::reincarnate(), and Omniifr::ExceptionDef_impl::reincarnate().
|
|
Definition at line 234 of file Dependency.h. |
|
Definition at line 235 of file Dependency.h. |