summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/PortableGroup.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/PortableGroup.idl')
-rw-r--r--TAO/orbsvcs/orbsvcs/PortableGroup.idl239
1 files changed, 239 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/PortableGroup.idl b/TAO/orbsvcs/orbsvcs/PortableGroup.idl
new file mode 100644
index 00000000000..89e9b7ce328
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/PortableGroup.idl
@@ -0,0 +1,239 @@
+//
+// $Id$
+//
+// ================================================================
+//
+// = LIBRARY
+// TAO_PortableGroup
+//
+// = FILENAME
+// PortableGroup.pidl
+//
+// = DESCRIPTION
+//
+// This file was used to generate the code in PortableGroupC.{h,i,cpp}
+//
+// The command used to generate code from this file is:
+//
+// tao_idl.exe \
+// -Ge 1 \
+// -Wb,export_macro=TAO_PortableGroup_Export \
+// -Wb,export_include="tao/corbafwd.h" \
+// -Wb,pre_include="ace/pre.h" \
+// -Wb,post_include="ace/post.h" \
+// -I../../orbsvcs/orbsvcs \
+// PortableGroup.pidl
+//
+// After the file is generated a patch from the diffs directory must
+// be applied. The patch:
+//
+// - Disables parts of the code under certain configurations.
+//
+// - Eliminates cycles in the include dependencies.
+//
+// - Adds non-idl components of PortableGroup to the namespace.
+// This includes (a) Servant (b) ServantBase (c) RefCountServantBase
+// (d) Cookie (e) ObjectId_to_string (f) string_to_ObjectId (g)
+// ObjectId_to_wstring (h) wstring_to_ObjectId (i) ServantBase_var
+// (j) DynamicImplementation (k) LocalServantBase
+//
+// Apply patches using the following commands:
+//
+// patch < diffs\PortableGroupC.h.diff
+// patch < diffs\PortableGroupC.i.diff
+// patch < diffs\PortableGroupC.cpp.diff
+//
+// Note: The diffs were generated with these commands:
+//
+// diff -wub PortableGroupC.h PortableGroupC.h.mod > diffs\PortableGroupC.h.diff
+// diff -wub PortableGroupC.i PortableGroupC.i.mod > diffs\PortableGroupC.i.diff
+// diff -wub PortableGroupC.cpp PortableGroupC.cpp.mod > diffs\PortableGroupC.cpp.diff
+//
+// ================================================================
+
+#ifndef _PortableGroup_IDL_
+#define _PortableGroup_IDL_
+
+//#include <PortableServer.pidl>
+#include <CosNaming.idl>
+#include <tao/IOP.pidl>
+#include <tao/GIOP.pidl>
+#include <orb.idl>
+
+#pragma prefix "omg.org"
+
+module PortableGroup {
+
+ // Specification for Interoperable Object Group References
+ typedef string GroupDomainId;
+ typedef unsigned long long ObjectGroupId;
+ typedef unsigned long ObjectGroupRefVersion;
+
+ typedef GIOP::Version Version;
+
+ struct TagGroupTaggedComponent { // tag = TAG_GROUP;
+ Version component_version;
+ GroupDomainId group_domain_id;
+ ObjectGroupId object_group_id;
+ ObjectGroupRefVersion object_group_ref_version;
+ };
+ typedef sequence <octet> GroupIIOPProfile; // tag = TAG_GROUP_IIOP
+
+ // Specification of Common Types and Exceptions
+ // for GroupManagement
+ local interface GenericFactory;
+
+ typedef CORBA::RepositoryId TypeId;
+ typedef Object ObjectGroup;
+ typedef CosNaming::Name Name;
+ typedef any Value;
+
+ struct Property {
+ Name nam;
+ Value val;
+ };
+
+ typedef sequence<Property> Properties;
+ typedef Name Location;
+ typedef sequence<Location> Locations;
+ typedef Properties Criteria;
+
+ struct FactoryInfo {
+ GenericFactory the_factory;
+ Location the_location;
+ Criteria the_criteria;
+ };
+
+ typedef sequence<FactoryInfo> FactoryInfos;
+ typedef long MembershipStyleValue;
+
+ const MembershipStyleValue MEMB_APP_CTRL = 0;
+ const MembershipStyleValue MEMB_INF_CTRL = 1;
+
+ typedef unsigned short InitialNumberReplicasValue;
+ typedef unsigned short MinimumNumberReplicasValue;
+
+ exception InterfaceNotFound {};
+ exception ObjectGroupNotFound {};
+ exception MemberNotFound {};
+ exception ObjectNotFound {};
+ exception MemberAlreadyPresent {};
+ exception BadReplicationStyle {};
+ exception ObjectNotCreated {};
+ exception ObjectNotAdded {};
+ exception UnsupportedProperty {
+ Name nam;
+ };
+
+ exception InvalidProperty {
+ Name nam;
+ Value val;
+ };
+
+ exception NoFactory {
+ Location the_location;
+ TypeId type_id;
+ };
+
+ exception InvalidCriteria {
+ Criteria invalid_criteria;
+ };
+
+ exception CannotMeetCriteria {
+ Criteria unmet_criteria;
+ };
+
+ // Specification of PropertyManager Interface
+ local interface PropertyManager {
+
+ void set_default_properties (in Properties props)
+ raises (InvalidProperty, UnsupportedProperty);
+
+ Properties get_default_properties();
+
+ void remove_default_properties (in Properties props)
+ raises (InvalidProperty, UnsupportedProperty);
+
+ void set_type_properties (in TypeId type_id, in Properties overrides)
+ raises (InvalidProperty, UnsupportedProperty);
+
+ Properties get_type_properties(in TypeId type_id);
+
+ void remove_type_properties (in TypeId type_id, in Properties props)
+ raises (InvalidProperty, UnsupportedProperty);
+
+ void set_properties_dynamically
+ (in ObjectGroup object_group, in Properties overrides)
+ raises
+ (ObjectGroupNotFound,
+ InvalidProperty,
+ UnsupportedProperty);
+
+ Properties get_properties (in ObjectGroup object_group)
+ raises(ObjectGroupNotFound);
+ }; // endPropertyManager
+
+
+ // Specification of ObjectGroupManager Interface
+ local interface ObjectGroupManager {
+ ObjectGroup create_member (in ObjectGroup object_group,
+ in Location the_location,
+ in TypeId type_id,
+ in Criteria the_criteria)
+ raises (ObjectGroupNotFound,
+ MemberAlreadyPresent,
+ NoFactory,
+ ObjectNotCreated,
+ InvalidCriteria,
+ CannotMeetCriteria);
+
+ ObjectGroup add_member (in ObjectGroup object_group,
+ in Location the_location,
+ in Object member)
+ raises (ObjectGroupNotFound,
+// CORBA::INV_OBJREF,
+ MemberAlreadyPresent,
+ ObjectNotAdded);
+
+ ObjectGroup remove_member (in ObjectGroup object_group,
+ in Location the_location)
+ raises (ObjectGroupNotFound, MemberNotFound);
+
+ Locations locations_of_members (in ObjectGroup object_group)
+ raises(ObjectGroupNotFound);
+
+ ObjectGroupId get_object_group_id (in ObjectGroup object_group)
+ raises(ObjectGroupNotFound);
+
+ ObjectGroup get_object_group_ref (in ObjectGroup object_group)
+ raises(ObjectGroupNotFound);
+
+ Object get_member_ref (in ObjectGroup object_group,
+ in Location loc)
+ raises(ObjectGroupNotFound, MemberNotFound);
+
+ }; // end ObjectGroupManager
+
+
+ // Specification of GenericFactory Interface
+ local interface GenericFactory {
+ typedef any FactoryCreationId;
+
+ Object create_object (in TypeId type_id,
+ in Criteria the_criteria,
+ out FactoryCreationId factory_creation_id)
+ raises
+ (NoFactory,
+ ObjectNotCreated,
+ InvalidCriteria,
+ InvalidProperty,
+ CannotMeetCriteria);
+
+ void delete_object (in FactoryCreationId factory_creation_id)
+ raises (ObjectNotFound);
+
+ }; // end GenericFactory
+
+}; // end PortableGroup
+
+#endif // for #ifndef _PortableGroup_IDL_