diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/FT_CORBA_ORB.idl | 136 |
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*/ |