summaryrefslogtreecommitdiff
path: root/ACE/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h')
-rw-r--r--ACE/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.h103
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 */