Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Omniifr::ArrayDef_impl Class Reference

#include <ArrayDef.h>

Inheritance diagram for Omniifr::ArrayDef_impl:

Inheritance graph
[legend]
Collaboration diagram for Omniifr::ArrayDef_impl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

CORBA::ULong length ()
void length (CORBA::ULong v)
CORBA::TypeCode_ptr element_type ()
CORBA::IDLType_ptr element_type_def ()
void element_type_def (CORBA::IDLType_ptr v)
CORBA::DefinitionKind def_kind ()
CORBA::TypeCode_ptr type ()
 ArrayDef_impl (ULong length)
virtual ~ArrayDef_impl ()
void uncheckedDestroy ()
 Destroys this object, without first checking for dependencies.
void reincarnate (const PersistNode &node)
 Re-create the repository from information saved in the log file.
void output (ostream &os)
 Save this object's state to a stream.

Private Attributes

CORBA::ULong _length
Dependency1< CORBA::IDLType > _element_type_def

Constructor & Destructor Documentation

Omniifr::ArrayDef_impl::ArrayDef_impl ULong  length  ) 
 

Definition at line 52 of file ArrayDef.cc.

00052                                         :
00053   _length(length),
00054   _element_type_def(this)
00055 {
00056   Repository_impl::inst().addAnonymous(this);
00057 }

virtual Omniifr::ArrayDef_impl::~ArrayDef_impl  )  [inline, virtual]
 

Definition at line 53 of file ArrayDef.h.

00053 {}


Member Function Documentation

CORBA::DefinitionKind Omniifr::ArrayDef_impl::def_kind  )  [inline, virtual]
 

Implements Omniifr::IRObject_impl.

Definition at line 44 of file ArrayDef.h.

00044 {return CORBA::dk_Array;}

TypeCode_ptr Omniifr::ArrayDef_impl::element_type  ) 
 

Definition at line 30 of file ArrayDef.cc.

References _element_type_def, and Omniifr::Dependency1< T_IRObject >::in().

Referenced by type().

00031 {
00032   return _element_type_def.in()->type();
00033 }

void Omniifr::ArrayDef_impl::element_type_def CORBA::IDLType_ptr  v  ) 
 

Definition at line 40 of file ArrayDef.cc.

References _element_type_def, Omniifr::Dependency1< T_IRObject >::assign(), and Omniifr::IRObject_impl::checkReadonly().

00041 {
00042   checkReadonly();
00043   _element_type_def.assign(CORBA::IDLType::_duplicate(v));
00044 }

CORBA::IDLType_ptr Omniifr::ArrayDef_impl::element_type_def  ) 
 

Definition at line 35 of file ArrayDef.cc.

References _element_type_def, and Omniifr::Dependency1< T_IRObject >::copy().

00036 {
00037   return _element_type_def.copy();
00038 }

void Omniifr::ArrayDef_impl::length CORBA::ULong  v  )  [inline]
 

Definition at line 39 of file ArrayDef.h.

References _length, and Omniifr::IRObject_impl::checkReadonly().

00039 {checkReadonly(); _length=v;}

CORBA::ULong Omniifr::ArrayDef_impl::length  )  [inline]
 

Definition at line 38 of file ArrayDef.h.

References _length.

00038 {return _length;}

void Omniifr::ArrayDef_impl::output ostream &  os  )  [virtual]
 

Save this object's state to a stream.

Implements Omniifr::IRObject_impl.

Definition at line 72 of file ArrayDef.cc.

References _element_type_def, _length, Omniifr::Dependency1< T_IRObject >::in(), and Omniifr::IRObject_impl::outputOid().

00073 {
00074   os<<"ArrayDef"<<PersistNode::_separator;
00075   outputOid(os);
00076   os<<"\n length="<<_length;
00077   PersistNode::outputIOR(os,_element_type_def.in(),"\n element_type_def=");
00078   os<<" ;;\n";
00079 }

void Omniifr::ArrayDef_impl::reincarnate const PersistNode node  )  [virtual]
 

Re-create the repository from information saved in the log file.

Reimplemented from Omniifr::IRObject_impl.

Definition at line 65 of file ArrayDef.cc.

References _element_type_def, and Omniifr::Dependency1< T_IRObject >::assign().

00066 {
00067   _element_type_def.assign(
00068     string_to_<CORBA::IDLType>(node.attrString("element_type_def").c_str())
00069   );
00070 }

TypeCode_ptr Omniifr::ArrayDef_impl::type  )  [virtual]
 

Implements Omniifr::IDLType_impl.

Definition at line 46 of file ArrayDef.cc.

References _length, and element_type().

00047 {
00048   TypeCode_var tc =element_type();
00049   return Repository_impl::inst()._orb->create_array_tc(_length,tc.in());
00050 }

void Omniifr::ArrayDef_impl::uncheckedDestroy  )  [virtual]
 

Destroys this object, without first checking for dependencies.

Implements Omniifr::IRObject_impl.

Definition at line 59 of file ArrayDef.cc.

References _element_type_def, and Omniifr::Dependency1< T_IRObject >::clear().

00060 {
00061   Repository_impl::inst().removeAnonymous(this);
00062   _element_type_def.clear();
00063 }


Member Data Documentation

Dependency1<CORBA::IDLType> Omniifr::ArrayDef_impl::_element_type_def [private]
 

Definition at line 50 of file ArrayDef.h.

Referenced by element_type(), element_type_def(), output(), reincarnate(), and uncheckedDestroy().

CORBA::ULong Omniifr::ArrayDef_impl::_length [private]
 

Definition at line 49 of file ArrayDef.h.

Referenced by length(), output(), and type().


The documentation for this class was generated from the following files:
Generated on Fri Mar 4 13:03:56 2005 for OmniIFR by  doxygen 1.4.1