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

Omniifr::EnumDef_impl Class Reference

#include <EnumDef.h>

Inheritance diagram for Omniifr::EnumDef_impl:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

EnumMemberSeq * members ()
void members (const EnumMemberSeq &v)
DefinitionKind def_kind ()
TypeCode_ptr type ()
 EnumDef_impl ()
virtual ~EnumDef_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

EnumMemberSeq _members

Constructor & Destructor Documentation

Omniifr::EnumDef_impl::EnumDef_impl  )  [inline]
 

Definition at line 45 of file EnumDef.h.

00045 {}

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

Definition at line 46 of file EnumDef.h.

00046 {}


Member Function Documentation

DefinitionKind Omniifr::EnumDef_impl::def_kind  )  [inline, virtual]
 

Implements Omniifr::IRObject_impl.

Definition at line 38 of file EnumDef.h.

00038 {return CORBA::dk_Enum;}

void Omniifr::EnumDef_impl::members const EnumMemberSeq &  v  ) 
 

Definition at line 35 of file EnumDef.cc.

References _members, Omniifr::IRObject_impl::checkReadonly(), and IFELSE_OMNIORB4.

00036 {
00037   checkReadonly();
00038   // Check for invalid v.
00039   for(ULong i=0; i<v.length(); i++)
00040   {
00041     IdentifierUtil::checkInvalid(v[i]); // throws BAD_PARAM if v[i] is invalid.
00042     for(ULong j=0; j<i; j++)
00043     {
00044       if(0==strcasecmp(v[i],v[j])) // case insensitive
00045           throw CORBA::BAD_PARAM(
00046             IFELSE_OMNIORB4(omni::BAD_PARAM_ValueFactoryFailure,1),
00047             CORBA::COMPLETED_NO
00048           );
00049     }
00050   }
00051   // Do the work.
00052   _members=v;
00053 }

EnumMemberSeq * Omniifr::EnumDef_impl::members  ) 
 

Definition at line 30 of file EnumDef.cc.

References _members.

00031 {
00032   return new EnumMemberSeq(_members);
00033 }

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

Save this object's state to a stream.

Implements Omniifr::IRObject_impl.

Definition at line 72 of file EnumDef.cc.

References _members, and Omniifr::Contained_impl::outputSelf().

00073 {
00074   outputSelf(os,"EnumDef");
00075   cdrMemoryStream memstr(CORBA::ULong(0),CORBA::Boolean(1)/*clearMemory*/);
00076   _members>>=memstr;
00077   PersistNode::outputCdrMemoryStream(os,memstr,"\n state=");
00078   os<<" ;;\n";
00079 }

void Omniifr::EnumDef_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 66 of file EnumDef.cc.

References _members.

00067 {
00068   cdrMemoryStream memstr =node.attrCdrStream("state");
00069   _members<<=memstr;
00070 }

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

Implements Omniifr::IDLType_impl.

Definition at line 55 of file EnumDef.cc.

References _members.

00056 {
00057   return Repository_impl::inst()._orb
00058          ->create_enum_tc(_id.in(),_name.in(),_members);
00059 }

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

Destroys this object, without first checking for dependencies.

Implements Omniifr::Contained_impl.

Definition at line 61 of file EnumDef.cc.

00062 {
00063   Contained_impl::uncheckedDestroy();
00064 }


Member Data Documentation

EnumMemberSeq Omniifr::EnumDef_impl::_members [private]
 

Definition at line 43 of file EnumDef.h.

Referenced by members(), output(), reincarnate(), and type().


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