diff options
Diffstat (limited to 'ACE/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h')
-rw-r--r-- | ACE/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/ACE/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h b/ACE/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h new file mode 100644 index 00000000000..b99bc7dceb6 --- /dev/null +++ b/ACE/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h @@ -0,0 +1,103 @@ +// -*- C++ -*- + + +//============================================================================= +/** + * @file UnionDef_i.h + * + * $Id$ + * + * UnionDef servant class. + * + * + * @author Jeff Parsons <parsons@cs.wustl.edu> + */ +//============================================================================= + + +#ifndef TAO_UNIONDEF_I_H +#define TAO_UNIONDEF_I_H + +#include "orbsvcs/IFRService/TypedefDef_i.h" +#include "orbsvcs/IFRService/Container_i.h" +#include "orbsvcs/IFRService/ifr_service_export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4250) +#endif /* _MSC_VER */ + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +class TAO_IFRService_Export TAO_UnionDef_i : public virtual TAO_TypedefDef_i, + public virtual TAO_Container_i +{ + // = TITLE + // TAO_UnionDef_i + // + // = DESCRIPTION + // Represents an OMG IDL union definition. + // +public: + /// Constructor + TAO_UnionDef_i (TAO_Repository_i *repo); + + /// Destructor + virtual ~TAO_UnionDef_i (void); + + /// Return our definition kind. + virtual CORBA::DefinitionKind def_kind (); + + /// Remove the repository entry and its contents. + virtual void destroy (); + + virtual void destroy_i (); + + /// From IDLType_i's pure virtual function. + virtual CORBA::TypeCode_ptr type (); + + /// From IDLType_i's pure virtual function. + virtual CORBA::TypeCode_ptr type_i (); + + virtual CORBA::TypeCode_ptr discriminator_type (); + + CORBA::TypeCode_ptr discriminator_type_i (); + + virtual CORBA::IDLType_ptr discriminator_type_def (); + + CORBA::IDLType_ptr discriminator_type_def_i (); + + virtual void discriminator_type_def ( + CORBA::IDLType_ptr discriminator_type_def); + + void discriminator_type_def_i ( + CORBA::IDLType_ptr discriminator_type_def); + + virtual CORBA::UnionMemberSeq *members (); + + CORBA::UnionMemberSeq *members_i (); + + virtual void members ( + const CORBA::UnionMemberSeq &members); + + void members_i ( + const CORBA::UnionMemberSeq &members); + +private: + /// Used by members() to get each member's label value. + void fetch_label ( + const ACE_Configuration_Section_Key member_key, + CORBA::UnionMember &member); +}; + +TAO_END_VERSIONED_NAMESPACE_DECL + +#if defined(_MSC_VER) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#endif /* TAO_UNIONDEF_I_H */ |