/* -*- C++ -*- */ // $Id$ // ============================================================================ // // = LIBRARY // TAO/orbsvcs/IFR_Service // // = FILENAME // UnionDef_i.h // // = DESCRIPTION // IR::UnionDef servant class. // // = AUTHOR // Jeff Parsons // // ============================================================================ #ifndef TAO_UNIONDEF_I_H #define TAO_UNIONDEF_I_H #include "TypedefDef_i.h" #include "Container_i.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ #if defined(_MSC_VER) #if (_MSC_VER >= 1200) #pragma warning(push) #endif /* _MSC_VER >= 1200 */ #pragma warning(disable:4250) #endif /* _MSC_VER */ class 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: TAO_UnionDef_i (TAO_Repository_i *repo, ACE_Configuration_Section_Key section_key); // Constructor virtual ~TAO_UnionDef_i (void); // Destructor virtual IR::DefinitionKind def_kind ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); // Return our definition kind. virtual void destroy ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); // Remove the repository entry and its contents. virtual void destroy_i ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); virtual CORBA::TypeCode_ptr type ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); // From IDLType_i's pure virtual function. virtual CORBA::TypeCode_ptr type_i ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); // From IDLType_i's pure virtual function. virtual CORBA::TypeCode_ptr discriminator_type ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); CORBA::TypeCode_ptr discriminator_type_i ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); virtual IR::IDLType_ptr discriminator_type_def ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); IR::IDLType_ptr discriminator_type_def_i ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); virtual void discriminator_type_def ( IR::IDLType_ptr discriminator_type_def, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); void discriminator_type_def_i ( IR::IDLType_ptr discriminator_type_def, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); virtual IR::UnionMemberSeq *members ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); IR::UnionMemberSeq *members_i ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); virtual void members ( const IR::UnionMemberSeq &members, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); void members_i ( const IR::UnionMemberSeq &members, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); private: void fetch_label ( const ACE_Configuration_Section_Key member_key, IR::UnionMember &member, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC ((CORBA::SystemException)); // Used by members() to get each member's label value. }; #if defined(_MSC_VER) && (_MSC_VER >= 1200) #pragma warning(pop) #endif /* _MSC_VER */ #endif /* TAO_UNIONDEF_I_H */