cosnotifychanneladmin.idl

来自「OTP是开放电信平台的简称」· IDL 代码 · 共 276 行

IDL
276
字号
#ifndef _COS_NOTIFYCHANNELADMIN_IDL_#define _COS_NOTIFYCHANNELADMIN_IDL_#pragma prefix "omg.org"#include<cosNotificationAppComm.idl>#include<CosNotifyFilter.idl>#include<CosNotifyComm.idl>#include<CosNotification.idl>module CosNotifyChannelAdmin {  exception ConnectionAlreadyActive {};  exception ConnectionAlreadyInactive {};  exception NotConnected {};  // Forward declarations  interface ConsumerAdmin;  interface SupplierAdmin;  interface EventChannel;  interface EventChannelFactory;    enum ProxyType {    PUSH_ANY,    PULL_ANY,    PUSH_STRUCTURED,    PULL_STRUCTURED,    PUSH_SEQUENCE,    PULL_SEQUENCE};  enum ObtainInfoMode {    ALL_NOW_UPDATES_OFF,    ALL_NOW_UPDATES_ON,    NONE_NOW_UPDATES_OFF,    NONE_NOW_UPDATES_ON};  interface ProxyConsumer : CosNotification::QoSAdmin, CosNotifyFilter::FilterAdmin {    readonly attribute ProxyType MyType;    readonly attribute SupplierAdmin MyAdmin;    CosNotification::EventTypeSeq obtain_subscription_types(in ObtainInfoMode mode);    void validate_event_qos (in CosNotification::QoSProperties required_qos,			     out CosNotification::NamedPropertyRangeSeq available_qos)      raises (CosNotification::UnsupportedQoS);  }; // ProxyConsumer  interface ProxySupplier : CosNotification::QoSAdmin, CosNotifyFilter::FilterAdmin {    readonly attribute ProxyType MyType;    readonly attribute ConsumerAdmin MyAdmin;    attribute CosNotifyFilter::MappingFilter priority_filter;    attribute CosNotifyFilter::MappingFilter lifetime_filter;    CosNotification::EventTypeSeq obtain_offered_types(in ObtainInfoMode mode);    void validate_event_qos (in CosNotification::QoSProperties required_qos,			     out CosNotification::NamedPropertyRangeSeq available_qos)      raises (CosNotification::UnsupportedQoS);  }; // ProxySupplier  interface ProxyPushConsumer : ProxyConsumer, CosNotifyComm::PushConsumer,    CosEventChannelAdmin::ProxyPushConsumer {    void connect_any_push_supplier (in CosEventComm::PushSupplier push_supplier)      raises(CosEventChannelAdmin::AlreadyConnected);  }; // ProxyPushConsumer  interface StructuredProxyPushConsumer : ProxyConsumer, CosNotifyComm::StructuredPushConsumer {    void connect_structured_push_supplier (in CosNotifyComm::StructuredPushSupplier push_supplier)      raises(CosEventChannelAdmin::AlreadyConnected);  }; // StructuredProxyPushConsumer  interface SequenceProxyPushConsumer : ProxyConsumer, CosNotifyComm::SequencePushConsumer {    void connect_sequence_push_supplier (in CosNotifyComm::SequencePushSupplier push_supplier)      raises(CosEventChannelAdmin::AlreadyConnected);  }; // SequenceProxyPushConsumer  interface ProxyPullSupplier : ProxySupplier, CosNotifyComm::PullSupplier,    CosEventChannelAdmin::ProxyPullSupplier, oe_CosNotificationComm::Event {    void connect_any_pull_consumer (in CosEventComm::PullConsumer pull_consumer)      raises(CosEventChannelAdmin::AlreadyConnected);  }; // ProxyPullSupplier  interface StructuredProxyPullSupplier : ProxySupplier, CosNotifyComm::StructuredPullSupplier,    oe_CosNotificationComm::Event {    void connect_structured_pull_consumer (in CosNotifyComm::StructuredPullConsumer pull_consumer)      raises(CosEventChannelAdmin::AlreadyConnected);  }; // StructuredProxyPullSupplier  interface SequenceProxyPullSupplier : ProxySupplier, CosNotifyComm::SequencePullSupplier,    oe_CosNotificationComm::Event {    void connect_sequence_pull_consumer (in CosNotifyComm::SequencePullConsumer pull_consumer)      raises(CosEventChannelAdmin::AlreadyConnected);  }; // SequenceProxyPullSupplier  interface ProxyPullConsumer : ProxyConsumer, CosNotifyComm::PullConsumer,    CosEventChannelAdmin::ProxyPullConsumer {    void connect_any_pull_supplier (in CosEventComm::PullSupplier pull_supplier)      raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);    void suspend_connection()      raises(ConnectionAlreadyInactive, NotConnected);    void resume_connection()      raises(ConnectionAlreadyActive, NotConnected);  }; // ProxyPullConsumer  interface StructuredProxyPullConsumer : ProxyConsumer, CosNotifyComm::StructuredPullConsumer {    void connect_structured_pull_supplier (in CosNotifyComm::StructuredPullSupplier pull_supplier)      raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);    void suspend_connection()      raises(ConnectionAlreadyInactive, NotConnected);    void resume_connection()      raises(ConnectionAlreadyActive, NotConnected);  }; // StructuredProxyPullConsumer  interface SequenceProxyPullConsumer : ProxyConsumer, CosNotifyComm::SequencePullConsumer {    void connect_sequence_pull_supplier (in CosNotifyComm::SequencePullSupplier pull_supplier)      raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);    void suspend_connection()      raises(ConnectionAlreadyInactive, NotConnected);    void resume_connection()      raises(ConnectionAlreadyActive, NotConnected);  }; // SequenceProxyPullConsumer    interface ProxyPushSupplier : ProxySupplier, CosNotifyComm::PushSupplier,    CosEventChannelAdmin::ProxyPushSupplier, oe_CosNotificationComm::Event {    void connect_any_push_consumer (in CosEventComm::PushConsumer push_consumer)      raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);    void suspend_connection()      raises(ConnectionAlreadyInactive, NotConnected);    void resume_connection()      raises(ConnectionAlreadyActive, NotConnected);  }; // ProxyPushSupplier  interface StructuredProxyPushSupplier : ProxySupplier, CosNotifyComm::StructuredPushSupplier,    oe_CosNotificationComm::Event {    void connect_structured_push_consumer (in CosNotifyComm::StructuredPushConsumer push_consumer)      raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);    void suspend_connection()      raises(ConnectionAlreadyInactive, NotConnected);    void resume_connection()      raises(ConnectionAlreadyActive, NotConnected);  }; // StructuredProxyPushSupplier  interface SequenceProxyPushSupplier : ProxySupplier, CosNotifyComm::SequencePushSupplier,    oe_CosNotificationComm::Event {    void connect_sequence_push_consumer (in CosNotifyComm::SequencePushConsumer push_consumer)      raises(CosEventChannelAdmin::AlreadyConnected, CosEventChannelAdmin::TypeError);    void suspend_connection()      raises(ConnectionAlreadyInactive, NotConnected);    void resume_connection()      raises(ConnectionAlreadyActive, NotConnected);  }; // SequenceProxyPushSupplier  typedef long ProxyID;  typedef sequence <ProxyID> ProxyIDSeq;  enum ClientType {    ANY_EVENT,    STRUCTURED_EVENT,    SEQUENCE_EVENT};  enum InterFilterGroupOperator {    AND_OP,     OR_OP };  typedef long AdminID;  typedef sequence<AdminID> AdminIDSeq;  exception AdminNotFound {};  exception ProxyNotFound {};  struct AdminLimit {    CosNotification::PropertyName name;    CosNotification::PropertyValue value;  };  exception AdminLimitExceeded { AdminLimit admin_property_err; };  interface ConsumerAdmin : CosNotification::QoSAdmin, CosNotifyComm::NotifySubscribe,     CosNotifyFilter::FilterAdmin, CosEventChannelAdmin::ConsumerAdmin,    oe_CosNotificationComm::Event {    readonly attribute AdminID MyID;    readonly attribute EventChannel MyChannel;    readonly attribute InterFilterGroupOperator MyOperator;    attribute CosNotifyFilter::MappingFilter priority_filter;    attribute CosNotifyFilter::MappingFilter lifetime_filter;    readonly attribute ProxyIDSeq pull_suppliers;    readonly attribute ProxyIDSeq push_suppliers;    ProxySupplier get_proxy_supplier (in ProxyID proxy_id)      raises (ProxyNotFound);    ProxySupplier obtain_notification_pull_supplier (in ClientType ctype, out ProxyID proxy_id)      raises (AdminLimitExceeded);    ProxySupplier obtain_notification_push_supplier (in ClientType ctype, out ProxyID proxy_id)      raises (AdminLimitExceeded);    void destroy();  }; // ConsumerAdmin  interface SupplierAdmin : CosNotification::QoSAdmin, CosNotifyComm::NotifyPublish,     CosNotifyFilter::FilterAdmin, CosEventChannelAdmin::SupplierAdmin ,    oe_CosNotificationComm::Event {    readonly attribute AdminID MyID;    readonly attribute EventChannel MyChannel;    readonly attribute InterFilterGroupOperator MyOperator;    readonly attribute ProxyIDSeq pull_consumers;    readonly attribute ProxyIDSeq push_consumers;    ProxyConsumer get_proxy_consumer (in ProxyID proxy_id)      raises (ProxyNotFound);    ProxyConsumer obtain_notification_pull_consumer (in ClientType ctype, out ProxyID proxy_id)      raises (AdminLimitExceeded);    ProxyConsumer obtain_notification_push_consumer (in ClientType ctype, out ProxyID proxy_id)      raises (AdminLimitExceeded);    void destroy();  }; // SupplierAdmin  interface EventChannel : CosNotification::QoSAdmin, CosNotification::AdminPropertiesAdmin,     CosEventChannelAdmin::EventChannel,    oe_CosNotificationComm::Event {    readonly attribute EventChannelFactory MyFactory;    readonly attribute ConsumerAdmin default_consumer_admin;    readonly attribute SupplierAdmin default_supplier_admin;    readonly attribute CosNotifyFilter::FilterFactory default_filter_factory;    ConsumerAdmin new_for_consumers(in InterFilterGroupOperator op, out AdminID id);    SupplierAdmin new_for_suppliers(in InterFilterGroupOperator op, out AdminID id);    ConsumerAdmin get_consumeradmin (in AdminID id)      raises (AdminNotFound);    SupplierAdmin get_supplieradmin (in AdminID id)      raises (AdminNotFound);    AdminIDSeq get_all_consumeradmins();    AdminIDSeq get_all_supplieradmins();  }; // EventChannel  typedef long ChannelID;  typedef sequence<ChannelID> ChannelIDSeq;  exception ChannelNotFound {};  interface EventChannelFactory {    EventChannel create_channel (in CosNotification::QoSProperties initial_qos, 				 in CosNotification::AdminProperties initial_admin,				 out ChannelID id)      raises(CosNotification::UnsupportedQoS, CosNotification::UnsupportedAdmin);    ChannelIDSeq get_all_channels();    EventChannel get_event_channel (in ChannelID id)      raises (ChannelNotFound);  }; // EventChannelFactory}; // CosNotifyChannelAdmin#endif /* ifndef _COS_NOTIFYCHANNELADMIN_IDL_ */

⌨️ 快捷键说明

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