📄 cosnotifychanneladmin.idl
字号:
/** * Causes this proxy to stop sending events to its consumer. Note * that events will still be queued while the connection is suspended. * @raises ConnectionAlreadyInactive Proxy already stopped. * @raises NotConnected Proxy not connected. */ void suspend_connection() raises(ConnectionAlreadyInactive, NotConnected); /** * Causes this proxy to start sending events to its consumer. * All queued events will be forwarded to the consumers. * @raises ConnectionAlreadyActive Proxy already started. * @raises NotConnected Proxy not connected. */ void resume_connection() raises(ConnectionAlreadyActive, NotConnected); }; // StructuredProxyPushSupplier /** * An interface for sequence proxy push suppliers. */ interface SequenceProxyPushSupplier : ProxySupplier, CosNotifyComm::SequencePushSupplier { /** * Connect a sequence type push consumer to this proxy. * @parm <code>push_consumer</code> - The <code>PushConsumer</code> * object reference. * @raises AlreadyConnected If this consumer is already connected. * @raises TypeError Illegal consumer type. */ void connect_sequence_push_consumer ( in CosNotifyComm::SequencePushConsumer push_consumer) raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError ); /** * Causes this proxy to stop sending events to its consumer. Note * that events will still be queued while the connection is suspended. * @raises ConnectionAlreadyInactive Proxy already stopped. * @raises NotConnected Proxy not connected. */ void suspend_connection() raises(ConnectionAlreadyInactive, NotConnected); /** * Causes this proxy to start sending events to its consumer. * All queued events will be forwarded to the consumers. * @raises ConnectionAlreadyActive Proxy already started. * @raises NotConnected Proxy not connected. */ void resume_connection() raises(ConnectionAlreadyActive, NotConnected); }; // SequenceProxyPushSupplier /** * A unique proxy identifier. */ typedef long ProxyID; /** * A sequence of proxy identifiers. */ typedef sequence <ProxyID> ProxyIDSeq; /** * Enumeration of client types. */ enum ClientType { ANY_EVENT, STRUCTURED_EVENT, SEQUENCE_EVENT }; /** * Enumeration of filter group operators. */ enum InterFilterGroupOperator { AND_OP, OR_OP }; /** * A unique administration object identifier. */ typedef long AdminID; /** * A sequence of administration identifiers. */ typedef sequence<AdminID> AdminIDSeq; /** * Exception used to indicate that an administration object could * not be found. */ exception AdminNotFound {}; /** * Exception used to indicate that a proxy object could not be found. */ exception ProxyNotFound {}; /** * Structure used for <code>AdminLimitExceeded</code> exceptions. * It is a two-tuple of a property name and a property value. */ struct AdminLimit { CosNotification::PropertyName name; CosNotification::PropertyValue value; }; /** * Exception used to indicate that the number of allowed administration * objects has been exceeded. */ exception AdminLimitExceeded { AdminLimit admin_property_err; }; /** * An interface for consumer administration objects. */ interface ConsumerAdmin : CosNotification::QoSAdmin, CosNotifyComm::NotifySubscribe, CosNotifyFilter::FilterAdmin, CosEventChannelAdmin::ConsumerAdmin { /** * A unique identifier for this administration object. */ readonly attribute AdminID MyID; /** * The event channel object that created this administration object. */ readonly attribute EventChannel MyChannel; /** * Indicates whether AND or OR semantics is used when combining * administration object filters and proxy filters. */ readonly attribute InterFilterGroupOperator MyOperator; /** * A mapping filter which if a non-nil reference will be consulted * for resolving the priority of the event. */ attribute CosNotifyFilter::MappingFilter priority_filter; /** * A mapping filter which if a non-nil reference will be consulted * for resolving the lifetime of the event. */ attribute CosNotifyFilter::MappingFilter lifetime_filter; /** * A list of pull supplier proxies created by the administration object. */ readonly attribute ProxyIDSeq pull_suppliers; /** * A list of push supplier proxies created by the administration object. */ readonly attribute ProxyIDSeq push_suppliers; /** * Get the proxy with the specified ID. * @parm <code>proxy_id</code> - The ID of the proxy to retrieve. * @raises ProxyNotFound If no proxy with the specified ID could * be found. */ ProxySupplier get_proxy_supplier ( in ProxyID proxy_id ) raises ( ProxyNotFound ); /** * Obtain a pull supplier proxy for this administration object. * @parm <code>ctype</code> - The client type. * @parm <code>proxy_id</code> - The ID of the newly created proxy, * i.e. the return value. * @returns A ProxySupplier object reference. * @raises AdminLimitExceeded If the number of proxies associated * with this administration object exceeds the MaxConsumers property. */ ProxySupplier obtain_notification_pull_supplier ( in ClientType ctype, out ProxyID proxy_id) raises ( AdminLimitExceeded ); /** * Obtain a push supplier proxy for this administration object. * @parm <code>ctype</code> - The client type. * @parm <code>proxy_id</code> - The ID of the newly created proxy, * i.e. the return value. * @returns A ProxySupplier object reference. * @raises AdminLimitExceeded If the number of proxies associated * with this administration object exceeds the MaxConsumers property. */ ProxySupplier obtain_notification_push_supplier ( in ClientType ctype, out ProxyID proxy_id) raises ( AdminLimitExceeded ); /** * Destroy this administration object and all proxies created by it. */ void destroy(); }; // ConsumerAdmin /** * An interface for supplier administration objects. */ interface SupplierAdmin : CosNotification::QoSAdmin, CosNotifyComm::NotifyPublish, CosNotifyFilter::FilterAdmin, CosEventChannelAdmin::SupplierAdmin { /** * A unique identified for this administration object. */ readonly attribute AdminID MyID; /** * The event channel object that created this administration object. */ readonly attribute EventChannel MyChannel; /** * Indicates whether AND or OR semantics is used when combining * administration object filters and proxy filters. */ readonly attribute InterFilterGroupOperator MyOperator; /** * A list of pull consumer proxies created by the administration object. */ readonly attribute ProxyIDSeq pull_consumers; /** * A list of pull consumer proxies created by the administration object. */ readonly attribute ProxyIDSeq push_consumers; /** * Get the proxy with the specified ID. * @parm <code>proxy_id</code> - The ID of the proxy to retrieve. * @raises ProxyNotFound If no proxy with the specified ID could * be found. */ ProxyConsumer get_proxy_consumer ( in ProxyID proxy_id ) raises ( ProxyNotFound ); /** * Obtain a pull consumer proxy for this administration object. * @parm <code>ctype</code> - The client type. * @parm <code>proxy_id</code> - The ID of the newly created proxy, * i.e. the return value. * @returns A ProxyConsumer object reference. * @raises AdminLimitExceeded If the number of proxies associated * with this administration object exceeds the MaxConsumers property. */ ProxyConsumer obtain_notification_pull_consumer ( in ClientType ctype, out ProxyID proxy_id) raises ( AdminLimitExceeded ); /** * Obtain a push consumer proxy for this administration object. * @parm <code>ctype</code> - The client type. * @parm <code>proxy_id</code> - The ID of the newly created proxy, * i.e. the return value. * @returns A ProxyConsumer object reference. * @raises AdminLimitExceeded If the number of proxies associated * with this administration object exceeds the MaxConsumers property. */ ProxyConsumer obtain_notification_push_consumer ( in ClientType ctype, out ProxyID proxy_id) raises ( AdminLimitExceeded ); /** * Destroy this administration object and all proxies created by it. */ void destroy(); }; // SupplierAdmin /** * An interface for the event channel. */ interface EventChannel : CosNotification::QoSAdmin, CosNotification::AdminPropertiesAdmin, CosEventChannelAdmin::EventChannel { /** * The factory object that created this event channel object. */ readonly attribute EventChannelFactory MyFactory; /** * The default consumer administration object. This object has the * unique identification number zero. */ readonly attribute ConsumerAdmin default_consumer_admin; /** * The default supplier administration object. This object has the * unique identification number zero. */ readonly attribute SupplierAdmin default_supplier_admin; /** * The default filter factory object for this event channel. */ readonly attribute CosNotifyFilter::FilterFactory default_filter_factory; /** * Creates an administration object for event consumers. * @parm <code>op</code> - Indicates whether the newly created * administration object should use AND or OR semantics when combining * administration object filters and proxy filters. * @parm <code>id</code> - The unique identifier for the administration * object. * @returns A <code>ConsumerAdmin</code> object reference. */ ConsumerAdmin new_for_consumers( in InterFilterGroupOperator op, out AdminID id ); /** * Creates an administration object for event suppliers. * @parm <code>op</code> - Indicates whether the newly created * administration object should use AND or OR semantics when combining * administration object filters and proxy filters. * @parm <code>id</code> - The unique identifier for the administration * object. * @returns A <code>SupplierAdmin</code> object reference. */ SupplierAdmin new_for_suppliers( in InterFilterGroupOperator op, out AdminID id ); /** * Get an administration object from its ID. * @parm <code>id</code> - A unique identifier for the administration * object. * @returns A <code>ConsumerAdmin</code> object reference. * @raises AdminNotFound If no administration object with that ID * could be found. */ ConsumerAdmin get_consumeradmin ( in AdminID id ) raises (AdminNotFound); /** * Get an administration object from its ID. * @parm <code>id</code> - A unique identifier for the administration * object. * @returns A <code>SupplierAdmin</code> object reference. * @raises AdminNotFound If no administration object with that ID * could be found. */ SupplierAdmin get_supplieradmin ( in AdminID id ) raises (AdminNotFound); /** * Get all consumer administration objects. * @returns A sequence of administration object unique identifiers. */ AdminIDSeq get_all_consumeradmins(); /** * Get all supplier administration objects. * @returns A sequence of administration object unique identifiers. */ AdminIDSeq get_all_supplieradmins(); }; // EventChannel /** * A unique event channel object identifier. */ typedef long ChannelID; /** * A sequence of event channel object identifiers. */ typedef sequence<ChannelID> ChannelIDSeq; /** * Exception used to indicate that a channel could not be found. */ exception ChannelNotFound {}; /** * An interface for the event channel factory. */ interface EventChannelFactory { /** * Create an event channel with specified quality of service. * @parm <code>initial_qos</code> - A list of name-value pair that * specify the desired quality of service settings for this event * channel. * @parm <code>initial_admin</code> - A list of name-value pair that * specify the desired administrative settings for this event channel. * @returns A new event channel object reference. * @raises UnsupportedQoS If any of the settings in the * <code>initial_qos</code> sequence could not be supported. * @raises UnsupportedAdmin If any of the settings in the * <code>initial_admin</code> sequence could not be supported. */ EventChannel create_channel ( in CosNotification::QoSProperties initial_qos, in CosNotification::AdminProperties initial_admin, out ChannelID id) raises(CosNotification::UnsupportedQoS, CosNotification::UnsupportedAdmin ); /** * Get all event channels created by this factory. * @returns A sequence of channel object unique identifiers. */ ChannelIDSeq get_all_channels(); /** * Get an event channel object from its ID. * @parm <code>id</code> - A unique identifier for the channel object. * @returns An <code>EventChannel</code> object reference. * @raises ChannelNotFound If no channel object with that ID * could be found. */ EventChannel get_event_channel ( in ChannelID id ) raises (ChannelNotFound); }; // EventChannelFactory}; // CosNotifyChannelAdmin#endif /* COSNOTIFYCHANNELADMIN_IDL */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -