⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cosnotifychanneladmin.idl

📁 UCS (Ultra Corba Simulator) is one more powerful corba client/servant simulator tool than other simi
💻 IDL
📖 第 1 页 / 共 2 页
字号:
#ifndef COSNOTIFYCHANNELADMIN_IDL #define COSNOTIFYCHANNELADMIN_IDL#include <CosEventComm.idl>#include <CosEventChannelAdmin.idl>#include <CosNotification.idl>#include <CosNotifyFilter.idl>/** * CORBA Common Object Services: Notification Service. * <p> * The detailed specification is available from the * <a href="http://www.omg.org">Object Managament Group</a>. * * @author OMG * @version Version 1.0 */#pragma prefix "omg.org"module CosNotifyChannelAdmin{   /**    * Exception used to indicate that a connection is already active.    */   exception ConnectionAlreadyActive {};   /**    * Exception used to indicate that a connection is already inactive.    */   exception ConnectionAlreadyInactive {};   /**    * Exception used to indicate that a proxy is not connected.    */   exception NotConnected {};   // Forward declarations   interface ConsumerAdmin;   interface SupplierAdmin;   interface EventChannel;   interface EventChannelFactory;   /**    * Enumeration of proxy types supported by notification service.    */   enum ProxyType   {      PUSH_ANY,      PULL_ANY,      PUSH_STRUCTURED,      PULL_STRUCTURED,      PUSH_SEQUENCE,      PULL_SEQUENCE,      PUSH_TYPED,      PULL_TYPED   };   /**    * Enumeration of modes for obtaining subscription or offered types.    */   enum ObtainInfoMode   {      ALL_NOW_UPDATES_OFF,      ALL_NOW_UPDATES_ON,      NONE_NOW_UPDATES_OFF,      NONE_NOW_UPDATES_ON   };   /**    * An interface for proxy consumers.    */   interface ProxyConsumer :      CosNotification::QoSAdmin,      CosNotifyFilter::FilterAdmin   {      /**       * The type of this proxy.       */      readonly attribute ProxyType MyType;      /**       * The administration object that created this proxy.       */      readonly attribute SupplierAdmin MyAdmin;      /**       * Get a list of event type names which represent the event types that       * consumers connected to this channel are interested in receiving.       * @parm <code>mode</code> - The mode of type retrieval.       * @returns A sequence of event type names.       */      CosNotification::EventTypeSeq obtain_subscription_types(	 in ObtainInfoMode mode );      /**       * Validate whether or not this proxy can honour the specified        * quality of service requirements.       * @parm <code>required_qos</code> - Quality of service name-value       * pairs which a client is interested in validating.       * @parm <code>available_qos</code> - Quality of service settings that       * this proxy can support in addition to the ones in the input sequence.       * @raises UnsupportedQoS If any of the quality of service settings       * in the input sequence could not be honoured.       */      void validate_event_qos (	 in CosNotification::QoSProperties required_qos,	 out CosNotification::NamedPropertyRangeSeq available_qos)	 raises (CosNotification::UnsupportedQoS);   }; // ProxyConsumer   /**    * An interface for proxy suppliers.    */   interface ProxySupplier :      CosNotification::QoSAdmin,      CosNotifyFilter::FilterAdmin   {      /**       * The type of this proxy.       */      readonly attribute ProxyType MyType;      /**       * The administration object that created this proxy.       */      readonly attribute ConsumerAdmin MyAdmin;      /**       * 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 filter which if a non-nil reference will be consulted        * for resolving the priority of the event.       */      attribute CosNotifyFilter::MappingFilter lifetime_filter;      /**       * Get a list of event type names that this proxy can potentially       * forward to its associated consumers.       * @parm <code>mode</code> - The mode of type retrieval.       * @returns A sequence of event type names.       */      CosNotification::EventTypeSeq obtain_offered_types(	 in ObtainInfoMode mode );      /**       * Validate whether or not this proxy can honour the specified        * quality of service requirements.       * @parm <code>required_qos</code> - Quality of service name-value       * pairs which a client is interested in validating.       * @parm <code>available_qos</code> - Quality of service settings that       * this proxy can support in addition to the ones in the input sequence.       * @raises UnsupportedQoS If any of the quality of service settings       * in the input sequence could not be honoured.       */      void validate_event_qos (	 in CosNotification::QoSProperties required_qos,	 out CosNotification::NamedPropertyRangeSeq available_qos)	 raises (CosNotification::UnsupportedQoS);   }; // ProxySupplier   /**    * An interface for proxy push consumers.    */   interface ProxyPushConsumer :      ProxyConsumer,      CosNotifyComm::PushConsumer   {      /**       * Connect an any type push supplier to this proxy.       * @parm <code>push_supplier</code> - The <code>PushSupplier</code>       * object reference.       * @raises AlreadyConnected If this supplier is already connected.       */      void connect_any_push_supplier (	 in CosEventComm::PushSupplier push_supplier)	 raises(CosEventChannelAdmin::AlreadyConnected);   }; // ProxyPushConsumer   /**    * An interface for structured proxy push consumers.    */   interface StructuredProxyPushConsumer :      ProxyConsumer,      CosNotifyComm::StructuredPushConsumer   {      /**       * Connect a structured type push supplier to this proxy.       * @parm <code>push_supplier</code> - The <code>PushSupplier</code>       * object reference.       * @raises AlreadyConnected If this supplier is already connected.       */      void connect_structured_push_supplier (	 in CosNotifyComm::StructuredPushSupplier push_supplier)	 raises(CosEventChannelAdmin::AlreadyConnected);   }; // StructuredProxyPushConsumer   /**    * An interface for sequence proxy push consumers.    */   interface SequenceProxyPushConsumer :      ProxyConsumer,      CosNotifyComm::SequencePushConsumer   {      /**       * Connect a sequence type push supplier to this proxy.       * @parm <code>push_supplier</code> - The <code>PushSupplier</code>       * object reference.       * @raises AlreadyConnected If this supplier is already connected.       */      void connect_sequence_push_supplier (	 in CosNotifyComm::SequencePushSupplier push_supplier)	 raises(CosEventChannelAdmin::AlreadyConnected);   }; // SequenceProxyPushConsumer   /**    * An interface for proxy pull suppliers.    */   interface ProxyPullSupplier :      ProxySupplier,      CosNotifyComm::PullSupplier   {      /**       * Connect an any type pull consumer to this proxy.       * @parm <code>pull_consumer</code> - The <code>PullConsumer</code>       * object reference.       * @raises AlreadyConnected If this consumer is already connected.       */      void connect_any_pull_consumer (	 in CosEventComm::PullConsumer pull_consumer)	 raises(CosEventChannelAdmin::AlreadyConnected);   }; // ProxyPullSupplier   /**    * An interface for structured proxy pull suppliers.    */   interface StructuredProxyPullSupplier :      ProxySupplier,      CosNotifyComm::StructuredPullSupplier   {      /**       * Connect a structured type pull consumer to this proxy.       * @parm <code>pull_consumer</code> - The <code>PullConsumer</code>       * object reference.       * @raises AlreadyConnected If this consumer is already connected.       */      void connect_structured_pull_consumer (	 in CosNotifyComm::StructuredPullConsumer pull_consumer)	 raises(CosEventChannelAdmin::AlreadyConnected);   }; // StructuredProxyPullSupplier   /**    * An interface for sequence proxy pull suppliers.    */   interface SequenceProxyPullSupplier :      ProxySupplier,      CosNotifyComm::SequencePullSupplier   {      /**       * Connect a sequence type pull consumer to this proxy.       * @parm <code>pull_consumer</code> - The <code>PullConsumer</code>       * object reference.       * @raises AlreadyConnected If this consumer is already connected.       */      void connect_sequence_pull_consumer (	 in CosNotifyComm::SequencePullConsumer pull_consumer)	 raises(CosEventChannelAdmin::AlreadyConnected);   }; // SequenceProxyPullSupplier   /**    * An interface for proxy pull consumers.    */   interface ProxyPullConsumer :      ProxyConsumer,      CosNotifyComm::PullConsumer   {      /**       * Connect an any type pull supplier to this proxy.       * @parm <code>pull_supplier</code> - The <code>PullSupplier</code>       * object reference.       * @raises AlreadyConnected If this supplier is already connected.       * @raises TypeError Illegal supplier type.       */      void connect_any_pull_supplier (	 in CosEventComm::PullSupplier pull_supplier)	 raises(CosEventChannelAdmin::AlreadyConnected,		CosEventChannelAdmin::TypeError );      /**       * Causes this proxy to stop pulling events from its supplier.       * @raises ConnectionAlreadyInactive Proxy already stopped.       * @raises NotConnected Proxy not connected.       */      void suspend_connection()	 raises(ConnectionAlreadyInactive, NotConnected);      /**       * Causes this proxy to start pulling events from its supplier.       * @raises ConnectionAlreadyActive Proxy already started.       * @raises NotConnected Proxy not connected.       */      void resume_connection()	 raises(ConnectionAlreadyActive, NotConnected);   }; // ProxyPullConsumer   /**    * An interface for structured proxy pull consumers.    */   interface StructuredProxyPullConsumer :      ProxyConsumer,      CosNotifyComm::StructuredPullConsumer   {      /**       * Connect a structured type pull supplier to this proxy.       * @parm <code>pull_supplier</code> - The <code>PullSupplier</code>       * object reference.       * @raises AlreadyConnected If this supplier is already connected.       * @raises TypeError Illegal supplier type.       */      void connect_structured_pull_supplier (	 in CosNotifyComm::StructuredPullSupplier pull_supplier)	 raises(CosEventChannelAdmin::AlreadyConnected,		CosEventChannelAdmin::TypeError );      /**       * Causes this proxy to stop pulling events from its supplier.       * @raises ConnectionAlreadyInactive Proxy already stopped.       * @raises NotConnected Proxy not connected.       */      void suspend_connection()	 raises(ConnectionAlreadyInactive, NotConnected);      /**       * Causes this proxy to start pulling events from its supplier.       * @raises ConnectionAlreadyActive Proxy already started.       * @raises NotConnected Proxy not connected.       */      void resume_connection()	 raises(ConnectionAlreadyActive, NotConnected);   }; // StructuredProxyPullConsumer   /**    * An interface for sequence proxy pull consumers.    */   interface SequenceProxyPullConsumer :      ProxyConsumer,      CosNotifyComm::SequencePullConsumer   {      /**       * Connect a sequence type pull supplier to this proxy.       * @parm <code>pull_supplier</code> - The <code>PullSupplier</code>       * object reference.       * @raises AlreadyConnected If this supplier is already connected.       * @raises TypeError Illegal supplier type.       */      void connect_sequence_pull_supplier (	 in CosNotifyComm::SequencePullSupplier pull_supplier)	 raises(CosEventChannelAdmin::AlreadyConnected,		CosEventChannelAdmin::TypeError );      /**       * Causes this proxy to stop pulling events from its supplier.       * @raises ConnectionAlreadyInactive Proxy already stopped.       * @raises NotConnected Proxy not connected.       */      void suspend_connection()	 raises(ConnectionAlreadyInactive, NotConnected);      /**       * Causes this proxy to start pulling events from its supplier.       * @raises ConnectionAlreadyActive</code> - Proxy already started.       * @raises NotConnected Proxy not connected.       */      void resume_connection()	 raises(ConnectionAlreadyActive, NotConnected);   }; // SequenceProxyPullConsumer   /**    * An interface for proxy push suppliers.    */   interface ProxyPushSupplier :      ProxySupplier,      CosNotifyComm::PushSupplier   {      /**       * Connect an any 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_any_push_consumer (	 in CosEventComm::PushConsumer 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);   }; // ProxyPushSupplier   /**    * An interface for structured proxy push suppliers.    */   interface StructuredProxyPushSupplier :      ProxySupplier,      CosNotifyComm::StructuredPushSupplier   {      /**       * Connect a structured 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_structured_push_consumer (	 in CosNotifyComm::StructuredPushConsumer push_consumer)	 raises(CosEventChannelAdmin::AlreadyConnected,		CosEventChannelAdmin::TypeError );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -