#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*/