summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl')
-rw-r--r--TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl136
1 files changed, 136 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl b/TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl
new file mode 100644
index 00000000000..6503eb969a5
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl
@@ -0,0 +1,136 @@
+//$Id$
+#ifndef TAO_FT_CORBA_ORB_IDL
+#define TAO_FT_CORBA_ORB_IDL
+
+// Including the $TAO_ROOT/tao one so that we dont depend on the
+// Svc_Utils
+#include "tao/TimeBase.pidl" // 98-10.47.idl
+// Proprietary includes for TAO
+#include "tao/IOP.pidl" // from 98-03-01.idl
+#include "tao/GIOP.pidl" // from 98-03-01.idl
+#include "tao/Policy.pidl"
+
+#include "PortableGroup_Simple_DS.idl"
+
+
+#pragma prefix "omg.org"
+
+
+// These have been moved to the file IOP.pidl
+module FT
+{
+ /// FTDomainId's are denoted as strings
+ typedef PortableGroup::GroupDomainId FTDomainId;
+
+ /// The objectgroup id
+ typedef PortableGroup::ObjectGroupId ObjectGroupId;
+
+ /// The reference version of the object group
+ typedef PortableGroup::ObjectGroupRefVersion ObjectGroupRefVersion;
+
+ /**
+ * @struct TagFTGroupTaggedComponent
+ *
+ * @brief Contents of the Tagged_Component field with tag
+ * TAG_FT_GROUP
+ */
+ typedef PortableGroup::TagGroupTaggedComponent TagFTGroupTaggedComponent;
+
+ /**
+ * @struct TagFTPrinaryTaggedComponent
+ *
+ * @brief Contents of the Tagged_Component field with tag
+ * TAG_FT_PRIMARY
+ */
+ struct TagFTPrimaryTaggedComponent
+ {
+ boolean primary;
+ };
+
+ /**
+ * @struct FTGroupVersionServiceContext
+ *
+ * @brief Service Context list info for FT_GROUP_VERSION.
+ *
+ * It specifies the most recent Object Group Version
+ */
+ struct FTGroupVersionServiceContext
+ {
+ ObjectGroupRefVersion object_group_ref_version;
+ };
+
+ /**
+ * @struct FTRequestServiceContext
+ *
+ * @brief Service Context List information for FT_REQUEST
+ */
+
+ struct FTRequestServiceContext
+ {
+ string client_id;
+ long retention_id;
+ TimeBase::TimeT expiration_time;
+ };
+
+ /// Policy type for holding a request
+ const CORBA::PolicyType REQUEST_DURATION_POLICY = 47;
+
+ /**
+ * @interface RequestDurationPolicy
+ *
+ * @brief Policy specification for Request Duration policy
+ */
+ local interface RequestDurationPolicy : CORBA::Policy
+ {
+ readonly attribute TimeBase::TimeT request_duration_policy_value;
+ };
+
+ /// Policy types for HeartBeats
+ const CORBA::PolicyType HEARTBEAT_POLICY = 48;
+
+ /**
+ * @struct HeartbeatPolicyValue
+ *
+ * @brief HeartbeatPolicy's range for the client
+ */
+ struct HeartbeatPolicyValue {
+ boolean heartbeat;
+ TimeBase::TimeT heartbeat_interval;
+ TimeBase::TimeT heartbeat_timeout;
+ };
+
+ /**
+ * @interface HeartbeatPolicy
+ *
+ * @brief Policy specification for Heartbeats on the client side
+ */
+ local interface HeartbeatPolicy : CORBA::Policy {
+ readonly attribute HeartbeatPolicyValue heartbeat_policy_value;
+ };
+
+ /// Policy type to enable heartbeating
+ const CORBA::PolicyType HEARTBEAT_ENABLED_POLICY = 49;
+
+ /**
+ * @struct TagFTHeartbeatEnabledTaggedComponent
+ *
+ * @brief Tagged components for TAG_FT_HEARTBEAT_ENABLED
+ *
+ */
+ struct TagFTHeartbeatEnabledTaggedComponent
+ {
+ boolean heartbeat_enabled;
+ };
+
+ /**
+ * @interface HeartbeatEnabledPolicy
+ *
+ * @brief Policy values for heartbeatEnabledpolicy
+ *
+ */
+ local interface HeartbeatEnabledPolicy : CORBA::Policy {
+ readonly attribute boolean heartbeat_enabled_policy_value;
+ };
+
+};
+#endif /*TAO_FT_CORBA_ORB_IDL*/