pragma Style_Checks ("NM32766");
pragma Wide_Character_Encoding (Brackets);
pragma Warnings (Off, "use of an anonymous access type allocator");

---------------------------------------------------
--  This file has been generated automatically from
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/notification/CosNotifyChannelAdmin.idl
--  by IAC (IDL to Ada Compiler) 25.0w (rev. unknown).
---------------------------------------------------
--  NOTE: If you modify this file by hand, your
--  changes will be lost when you re-run the
--  IDL to Ada compiler.
---------------------------------------------------

--  Source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/notification/CosNotifyChannelAdmin.idl

--  //File: CosNotifyChannelAdmin.idl
--  //Part of the Notification Service
--  //OMG File: 04-10-12

--  #ifndef _COS_NOTIFY_CHANNEL_ADMIN_IDL_
--  #define _COS_NOTIFY_CHANNEL_ADMIN_IDL_

--  #ifdef _PRE_3_0_COMPILER_
--  #include <CosNotification.idl>
--  #include <CosNotifyFilter.idl>
--  #include <CosNotifyComm.idl>
--  #include <CosEventChannelAdmin.idl>
--  #pragma prefix "omg.org"
--  #else
--  import ::CosNotification;
--  import ::CosNotifyFilter;
--  import ::CosNotifyComm;
--  import ::CosEventChannelAdmin;
--  #endif // _PRE_3_0_COMPILER_

--  module CosNotifyChannelAdmin {

--  #ifndef _PRE_3_0_COMPILER_
--  typeprefix CosNotifyChannelAdmin "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--  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,
--  	PUSH_TYPED,
--  	PULL_TYPED
--  };

--  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 {

--  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 {

--  void connect_any_pull_consumer (
--  		in CosEventComm::PullConsumer pull_consumer)
--  	raises(CosEventChannelAdmin::AlreadyConnected);

--  }; // ProxyPullSupplier

--  interface StructuredProxyPullSupplier : 
--  	ProxySupplier,
--  	CosNotifyComm::StructuredPullSupplier {

--  void connect_structured_pull_consumer (
--  		in CosNotifyComm::StructuredPullConsumer pull_consumer)
--  	raises(CosEventChannelAdmin::AlreadyConnected);

--  }; // StructuredProxyPullSupplier

--  interface SequenceProxyPullSupplier : 
--  	ProxySupplier,
--  	CosNotifyComm::SequencePullSupplier {

--  void connect_sequence_pull_consumer (
--  		in CosNotifyComm::SequencePullConsumer pull_consumer)
--  	raises(CosEventChannelAdmin::AlreadyConnected);

--  }; // SequenceProxyPullSupplier

--  interface ProxyPullConsumer : 
--  	ProxyConsumer,
--  	CosNotifyComm::PullConsumer {

--  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 {

--  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 {

--  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 {

--  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 {

--  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 {

--  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 {

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

--  End source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/notification/CosNotifyChannelAdmin.idl
--   -- 405 lines

--  Source: ./CosNotification.idl

--  //File: CosNotification.idl
--  //Part of the Notification Service
--  //OMG File: 04-10-12

--  #ifndef _COS_NOTIFICATION_IDL_
--  #define _COS_NOTIFICATION_IDL_

--  #ifdef _PRE_3_0_COMPILER_
--  #pragma prefix "omg.org"
--  #endif // _PRE_3_0_COMPILER_

--  module CosNotification {

--  #ifndef _PRE_3_0_COMPILER_
--  typeprefix CosNotification "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--  typedef string Istring;
--  typedef Istring PropertyName;
--  typedef any PropertyValue;

--  struct Property {
--  	PropertyName name;
--  	PropertyValue value;
--  };
--  typedef sequence<Property> PropertySeq;

--  // The following are the same, but serve different purposes.
--  typedef PropertySeq OptionalHeaderFields;
--  typedef PropertySeq FilterableEventBody;
--  typedef PropertySeq QoSProperties;
--  typedef PropertySeq AdminProperties;

--  struct _EventType {
--  	string domain_name;
--  	string type_name;
--  };
--  typedef sequence<_EventType> EventTypeSeq;

--  struct PropertyRange {
--  	PropertyValue low_val;
--  	PropertyValue high_val;
--  	};


--  struct NamedPropertyRange {
--  	PropertyName name;
--  	PropertyRange range;
--  };
--  typedef sequence<NamedPropertyRange> NamedPropertyRangeSeq;

--  enum QoSError_code {
--  	UNSUPPORTED_PROPERTY,
--  	UNAVAILABLE_PROPERTY,
--  	UNSUPPORTED_VALUE,
--  	UNAVAILABLE_VALUE,
--  	BAD_PROPERTY,
--  	BAD_TYPE,
--  	BAD_VALUE
--  };

--  struct PropertyError {
--  	QoSError_code code;
--  	PropertyName name;
--  	PropertyRange available_range;
--  };
--  typedef sequence<PropertyError> PropertyErrorSeq;

--  exception UnsupportedQoS { PropertyErrorSeq qos_err; };
--  exception UnsupportedAdmin { PropertyErrorSeq admin_err; };

--  // Define the Structured Event structure
--  struct FixedEventHeader { 
--  	_EventType event_type;
--  	string event_name;
--  };

--  struct EventHeader {
--  	FixedEventHeader fixed_header;
--  	OptionalHeaderFields variable_header;
--  };

--  struct StructuredEvent {
--  	EventHeader header;
--  	FilterableEventBody filterable_data;
--  	any remainder_of_body;
--  }; // StructuredEvent
--  typedef sequence<StructuredEvent> EventBatch;

--  // The following constant declarations define the standard
--  // QoS property names and the associated values each property
--  // can take on. The name/value pairs for each standard property
--  // are grouped, beginning with a string constant defined for the
--  // property name, followed by the values the property can take on.

--  const string EventReliability = "EventReliability";
--  const short BestEffort = 0;
--  const short Persistent = 1;


--  const string ConnectionReliability = "ConnectionReliability";
--  // Can take on the same values as EventReliability

--  const string Priority = "Priority";
--  const short LowestPriority = -32767;
--  const short HighestPriority = 32767;
--  const short DefaultPriority = 0;

--  const string StartTime = "StartTime";
--  // StartTime takes a value of type TimeBase::UtcT.

--  const string StopTime = "StopTime";
--  // StopTime takes a value of type TimeBase::UtcT.

--  const string Timeout = "Timeout";
--  // Timeout takes on a value of type TimeBase::TimeT

--  const string OrderPolicy = "OrderPolicy";
--  const short AnyOrder = 0;
--  const short FifoOrder = 1;
--  const short PriorityOrder = 2;
--  const short DeadlineOrder = 3;

--  const string DiscardPolicy = "DiscardPolicy";
--  // DiscardPolicy takes on the same values as OrderPolicy, plus
--  const short LifoOrder = 4;

--  const string MaximumBatchSize = "MaximumBatchSize";
--  // MaximumBatchSize takes on a value of type long

--  const string PacingInterval = "PacingInterval";
--  // PacingInterval takes on a value of type TimeBase::TimeT

--  const string StartTimeSupported = "StartTimeSupported";
--  // StartTimeSupported takes on a boolean value

--  const string StopTimeSupported = "StopTimeSupported";
--  // StopTimeSupported takes on a boolean value

--  const string MaxEventsPerConsumer = "MaxEventsPerConsumer";
--  // MaxEventsPerConsumer takes on a value of type long

--  interface QoSAdmin {

--  QoSProperties get_qos();

--  void set_qos ( in QoSProperties qos)
--  	raises ( UnsupportedQoS );

--  void validate_qos (
--  	in QoSProperties required_qos,
--  	out NamedPropertyRangeSeq available_qos )
--  	raises ( UnsupportedQoS );


--  }; // QosAdmin

--  // Admin properties are defined in similar manner as QoS
--  // properties. The only difference is that these properties
--  // are related to channel administration policies, as opposed 
--  // message quality of service

--  const string MaxQueueLength = "MaxQueueLength";
--  // MaxQueueLength takes on a value of type long

--  const string MaxConsumers = "MaxConsumers";
--  // MaxConsumers takes on a value of type long

--  const string MaxSuppliers = "MaxSuppliers";
--  // MaxSuppliers takes on a value of type long

--  const string RejectNewEvents = "RejectNewEvents";
--  // RejectNewEvents takes on a value of type Boolean

--  interface AdminPropertiesAdmin {

--  AdminProperties get_admin();

--  void set_admin (in AdminProperties admin)
--  	raises ( UnsupportedAdmin);

--  }; // AdminPropertiesAdmin


--  }; // CosNotification
--  #endif /* _COS_NOTIFICATION_IDL_ */

--  End source: ./CosNotification.idl -- 187 lines

--  Source: ./CosNotifyFilter.idl

--  //File: CosNotifyFilter.idl
--  //Part of the Notification Service
--  //OMG File: 04-10-12

--  #ifndef _COS_NOTIFY_FILTER_IDL_
--  #define _COS_NOTIFY_FILTER_IDL_

--  #ifdef _PRE_3_0_COMPILER_ 
--  #include <CosNotifyComm.idl>
--  #include <orb.idl>
--  #pragma prefix "omg.org"
--  #else
--  import ::CORBA;
--  import ::CosNotifyComm;
--  #endif // _PRE_3_0_COMPILER_

--  module CosNotifyFilter {

--  #ifndef _PRE_3_0_COMPILER_
--  typeprefix CosNotifyFilter "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--  typedef long ConstraintID;

--  struct ConstraintExp {
--  	CosNotification::EventTypeSeq event_types;
--  	string constraint_expr;
--  };

--  typedef sequence<ConstraintID> ConstraintIDSeq;
--  typedef sequence<ConstraintExp> ConstraintExpSeq;

--  struct ConstraintInfo {
--  	ConstraintExp constraint_expression;
--  	ConstraintID constraint_id;
--  };

--  typedef sequence<ConstraintInfo> ConstraintInfoSeq;

--  struct MappingConstraintPair {
--  	ConstraintExp constraint_expression;
--  	any result_to_set;
--  };

--  typedef sequence<MappingConstraintPair> MappingConstraintPairSeq;

--  struct MappingConstraintInfo {
--  	ConstraintExp constraint_expression;
--  	ConstraintID constraint_id;
--  		any value;
--  };

--  typedef sequence<MappingConstraintInfo> MappingConstraintInfoSeq;

--  typedef long CallbackID;
--  typedef sequence<CallbackID> CallbackIDSeq;

--  exception UnsupportedFilterableData {}; 
--  exception InvalidGrammar {};
--  exception InvalidConstraint {ConstraintExp constr;};
--  exception DuplicateConstraintID {ConstraintID id;};

--  exception ConstraintNotFound {ConstraintID id;};
--  exception CallbackNotFound {};

--  exception InvalidValue {ConstraintExp constr; any value;};

--  interface Filter { 

--  readonly attribute string constraint_grammar; 

--  ConstraintInfoSeq add_constraints (
--  		in ConstraintExpSeq constraint_list)
--  	raises (InvalidConstraint);

--  void modify_constraints (
--  		in ConstraintIDSeq del_list,
--  		in ConstraintInfoSeq modify_list)
--  	raises (InvalidConstraint, ConstraintNotFound);

--  ConstraintInfoSeq get_constraints(
--  		in ConstraintIDSeq id_list)
--  	raises (ConstraintNotFound);

--  ConstraintInfoSeq get_all_constraints();

--  void remove_all_constraints();

--  void destroy();

--  boolean match ( in any filterable_data )
--  	raises (UnsupportedFilterableData);

--  boolean match_structured (
--  		in CosNotification::StructuredEvent filterable_data )
--  	raises (UnsupportedFilterableData);


--  boolean match_typed (
--  		in CosNotification::PropertySeq filterable_data )
--  	raises (UnsupportedFilterableData);

--  CallbackID attach_callback (
--  		in CosNotifyComm::NotifySubscribe callback);

--  void detach_callback ( in CallbackID callback)
--  	raises ( CallbackNotFound );

--  CallbackIDSeq get_callbacks();

--  }; // Filter 

--  interface MappingFilter {

--  readonly attribute string constraint_grammar;

--  readonly attribute CORBA::TypeCode value_type;

--  readonly attribute any default_value;

--  MappingConstraintInfoSeq add_mapping_constraints (
--  		in MappingConstraintPairSeq pair_list)
--  	raises (InvalidConstraint, InvalidValue);

--  void modify_mapping_constraints (
--  		in ConstraintIDSeq del_list,
--  		in MappingConstraintInfoSeq modify_list)
--  	raises (InvalidConstraint, InvalidValue,
--  		ConstraintNotFound);

--  MappingConstraintInfoSeq get_mapping_constraints (
--  		in ConstraintIDSeq id_list)
--  	raises (ConstraintNotFound);

--  MappingConstraintInfoSeq get_all_mapping_constraints();

--  void remove_all_mapping_constraints();

--  void destroy();

--  boolean match ( in any filterable_data,
--  		out any result_to_set )
--  	raises (UnsupportedFilterableData);

--  boolean match_structured (
--  		in CosNotification::StructuredEvent filterable_data,
--  		out any result_to_set)
--  	raises (UnsupportedFilterableData);

--  boolean match_typed (
--  		in CosNotification::PropertySeq filterable_data,
--  		out any result_to_set)
--  	raises (UnsupportedFilterableData);

--  }; // MappingFilter

--  interface FilterFactory {

--  Filter create_filter (
--  		in string constraint_grammar)
--  	raises (InvalidGrammar);

--  MappingFilter create_mapping_filter (
--  		in string constraint_grammar,
--  		in any default_value)
--  	raises(InvalidGrammar);

--  }; // FilterFactory

--  typedef long FilterID;
--  typedef sequence<FilterID> FilterIDSeq;

--  exception FilterNotFound {};

--  interface FilterAdmin {

--  FilterID add_filter ( in Filter new_filter );

--  void remove_filter ( in FilterID filter )
--  	raises ( FilterNotFound );

--  Filter get_filter ( in FilterID filter )
--  	raises ( FilterNotFound );

--  FilterIDSeq get_all_filters();

--  void remove_all_filters();

--  }; // FilterAdmin

--  }; // CosNotifyFilter

--  #endif /* _COS_NOTIFY_FILTER_IDL_ */

--  End source: ./CosNotifyFilter.idl -- 194 lines

--  Source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/CORBA_IDL/orb.idl

--  // File: orb.idl
--  // From CORBA 3.0

--  // PolyORB Notes:
--  //   NI - Not Implemented
--  //   IL - Implementation Limitation

--  #ifndef _ORB_IDL_
--  #define _ORB_IDL_

--  //PolyORB:WAidlac: For now, idlac supports typeprefix statement only
--  //inside a scoped_name. This definition has been moved inside the
--  //CORBA module.
--  //#ifdef _PRE_3_0_COMPILER_
--  //#pragma prefix "omg.org"
--  //#else
--  //typeprefix CORBA "omg.org"
--  //#endif
--  //PolyORB:WAidlac:end

--  #ifdef _PRE_3_0_COMPILER_ 
--  #ifdef _NO_LOCAL_
--  #define local
--  #endif
--  #endif

--  // This module brings together many files defining the CORBA module
--  //   (It really ought to be called CORBA.idl, but that's history.)
--  // This file includes only the "real" interfaces that are included
--  //   in the "orb.idl" interface supplied by every ORB and that can be
--  //   brought into an IDL compilation by "import ::CORBA"
--  //   or in pre-3.0 IDL compilers by the include directive
--  //   "#include <orb.idl>".

--  module CORBA {

--  //PolyORB:WAidlac: For now, idlac supports typeprefix statement only
--  //inside a scoped_name. This definition has been moved inside the
--  //CORBA module.
--  #ifdef _PRE_3_0_COMPILER_
--  #pragma prefix "omg.org"
--  #else
--  typeprefix CORBA "omg.org"; // ";" suppresses iac warning about missing 
--  ";".
--  #endif
--  //PolyORB:WAidlac:end


--  // The following forward references list *all* the interfaces and 
--  valuetypes
--  //   defined in the CORBA module. This serves two purposes: documentation
--  //   and compilability. Documentation is nice: since some of the 
--  interfaces
--  //   must be declared as forward references, it is more consistent to
--  //   declare them all.
--  //
--  //   As far as compilability, it might be possible to avoid having to 
--  declare
--  //   many of the forward reference by rearranging the order of the 
--  interface 
--  //   declarations, but there's no reason to do bother doing that. After 
--  all,
--  //   that's the reason for the design of forward references. Doing a 
--  forward
--  //   reference allows the definition order to be relatively logical.In 
--  //   particular, it allows the "include"s to be done in chapter order 
--  //   (almost), the only exception being the InterfaceRepository (Chapter 
--  10). 
--  //   It contains some data definitions needed by Chapter 4 interfaces.
--  //   The other reason not to try to rearrange the order is that it's 
--  hard.

--  // Forward references, alphabetically
--  //PolyORB:NI:    interface ConstructionPolicy;        // Chapter  4, 
--  CORBA_DomainManager.idl
--      local interface Current;             // Chapter  4, CORBA_Current.idl
--      interface DomainManager;             // Chapter  4, 
--  CORBA_DomainManager.idl
--      interface Policy;                    // Chapter  4, CORBA_Policy.idl
--  //PolyORB:NI:    local interface PollableSet;         // Chapter  7, 
--  CORBA_Pollable.idl
--  //PolyORB:NI:    abstract valuetype CustomMarshal;    // Chapter  5, 
--  CORBA_valuetype.idl
--  //PolyORB:NI:    abstract valuetype DataInputStream;  // Chapter  5, 
--  CORBA_Stream.idl
--  //PolyORB:NI:    abstract valuetype DataOutputStream; // Chapter  5, 
--  CORBA_Stream.idl

--  // Forward references to Chapter 10, CORBA_InterfaceRepository.idl
--  //PolyORB:IL:    interface AbstractInterfaceDef;
--  //PolyORB:IL:    interface AliasDef;
--      interface ArrayDef;
--      interface AttributeDef;
--  //PolyORB:IL:    interface ConstantDef;
--      interface Contained;
--      interface Container;
--  //PolyORB:IL:    interface EnumDef;
--  //PolyORB:IL:    interface ExceptionDef;
--  //PolyORB:IL:    interface ExtInterfaceDef;
--  //PolyORB:NI:    interface ExtValueDef;
--  //PolyORB:IL:    interface ExtAbstractInterfaceDef;
--  //PolyORB:IL:    interface ExtLocalInterfaceDef;
--      interface FixedDef;
--  //PolyORB:IL:    interface IDLType;
--  //PolyORB:IL:    interface InterfaceDef;
--      interface IRObject;
--  //PolyORB:IL:    interface LocalInterfaceDef;
--  //PolyORB:IL:    interface ModuleDef;
--  //PolyORB:IL:    interface NativeDef;
--      interface OperationDef;
--      interface PrimitiveDef; 
--      interface Repository;
--      interface SequenceDef;
--      interface StringDef;
--  //PolyORB:IL:    interface StructDef;
--      interface TypeCode;
--      interface TypedefDef;
--  //PolyORB:IL:    interface UnionDef;
--  //PolyORB:IL:    interface ValueDef;
--  //PolyORB:IL:    interface ValueBoxDef;
--      interface ValueMemberDef;
--      interface WstringDef;

--      typedef string Identifier;

--  // Chapter 3: IDL Syntax and Semantics
--  #include <CORBA_StandardExceptions.idl>

--  // Chapter 4: ORB Interface
--  #include <CORBA_Current.idl>
--  #include <CORBA_Policy.idl>
--  #include <CORBA_DomainManager.idl>

--  // Chapter 7: Pollable
--  //PolyORB:NI:#include <CORBA_Pollable.idl>

--  // Chapter 10: The Interface Repository
--  #include <CORBA_InterfaceRepository.idl>

--  // more Chapter 4: ORB Interface
--  // CORBA_TypeCode.idl depends on CORBA_InterfaceRepository.idl
--  #include <CORBA_TypeCode.idl>

--  // Chapter 5: Value Type Semantics
--  //PolyORB:NI:#include <CORBA_CustomMarshal.idl>
--  #include <CORBA_Stream.idl>

--  //----------------------------------------------------------------------------
--  //PolyORB:AB: This code is copied from CORBA Pseudo IDL specification,
--  //primary because it define some entities, required for CORBA Services;
--  //and for completeness.

--  // The "define" fakes out the compiler to let it compile the "Context" 
--  //    interface and references to it even though "context" is a keyword
--  #define Context CContext

--  // The "define" fakes out the compiler to let it compile the "Object" 
--  //    interface and references to it even though "Object" is a keyword
--  #define Object OObject

--  // The "define" fakes out the compiler to let it compile the "ValueBase" 
--  //    valuetype and references to it even though "ValueBase" is a keyword
--  #define ValueBase VValueBase


--  // Forward references, alphabetically 
--      interface Context;                   // Chapter  7, CORBA_Context.idl
--      interface NVList;                    // Chapter  7, CORBA_NVList.idl
--      interface Object;                    // Chapter  4, CORBA_Object.idl
--      interface ORB;                       // Chapter  4, CORBA_ORB.idl
--      interface Request;                   // Chapter  7, CORBA_Request.idl
--      interface ServerRequest;             // Chapter  8, 
--  CORBA_ServerRequest.idl
--  //PolyORB:NI:    valuetype ValueBase;                 // Chapter  4, 
--  CORBA_ValueBase.idl

--      typedef unsigned long Flags;

--  // Chapter 4: ORB Interface
--  #include <CORBA_Object.idl>
--  #include <CORBA_ORB.idl>

--  //PolyORB:NI:// Chapter 5: Value Type Semantics
--  //PolyORB:NI:#include <CORBA_ValueBase.idl>

--  // Chapter 7: Dynamic Invocation Interface
--  #include <CORBA_Request.idl>
--  #include <CORBA_Context.idl>
--  #include <CORBA_NVList.idl>

--  //PolyORB:NI:// Chapter 8: Dynamic Skeleton Interface
--  #include <CORBA_ServerRequest.idl>

--  //PolyORB:AE:
--  //----------------------------------------------------------------------------

--  };

--  #undef Context
--  #undef Object
--  #undef ValueBase

--  #endif // _ORB_IDL_


--  End source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/CORBA_IDL/orb.idl -- 
--  188 lines

--  Source: ./CosNotifyComm.idl

--  //File: CosNotifyComm.idl
--  //Part of the Notification Service
--  //OMG File: 04-10-12

--  #ifndef _COS_NOTIFY_COMM_IDL_
--  #define _COS_NOTIFY_COMM_IDL_

--  #ifdef _PRE_3_0_COMPILER_
--  #include <CosNotification.idl>
--  #include <CosEventComm.idl>
--  #pragma prefix "omg.org"
--  #else
--  import ::CosNotification;
--  import ::CosEventComm;
--  #endif // _PRE_3_0_COMPILER_

--  module CosNotifyComm {

--  #ifndef _PRE_3_0_COMPILER_
--  typeprefix CosNotifyComm "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--  exception InvalidEventType { CosNotification::_EventType type; };

--  interface NotifyPublish {

--  void offer_change (
--  		in CosNotification::EventTypeSeq added,
--  		in CosNotification::EventTypeSeq removed )
--  	raises ( InvalidEventType );

--  }; // NotifyPublish

--  interface NotifySubscribe {


--  void subscription_change(
--  		in CosNotification::EventTypeSeq added,
--  		in CosNotification::EventTypeSeq removed )
--  	raises ( InvalidEventType );

--  }; // NotifySubscribe

--  interface PushConsumer :
--  	NotifyPublish,
--  	CosEventComm::PushConsumer {
--  }; // PushConsumer

--  interface PullConsumer :
--  	NotifyPublish,
--  	CosEventComm::PullConsumer {
--  }; // PullConsumer

--  interface PullSupplier :
--  	NotifySubscribe,
--  	CosEventComm::PullSupplier {
--  }; // PullSupplier

--  interface PushSupplier :
--  	NotifySubscribe,
--  	CosEventComm::PushSupplier {
--  };

--  interface StructuredPushConsumer : NotifyPublish {

--  void push_structured_event(
--  		in CosNotification::StructuredEvent notification)
--  	raises(CosEventComm::Disconnected);

--  void disconnect_structured_push_consumer();

--  }; // StructuredPushConsumer

--  interface StructuredPullConsumer : NotifyPublish {
--  void disconnect_structured_pull_consumer();
--  }; // StructuredPullConsumer

--  interface StructuredPullSupplier : NotifySubscribe {

--  CosNotification::StructuredEvent pull_structured_event()
--  	raises(CosEventComm::Disconnected);
--  CosNotification::StructuredEvent try_pull_structured_event(
--  		out boolean has_event)
--  	raises(CosEventComm::Disconnected);

--  void disconnect_structured_pull_supplier();

--  }; // StructuredPullSupplier


--  interface StructuredPushSupplier : NotifySubscribe {
--  void disconnect_structured_push_supplier();
--  }; // StructuredPushSupplier

--  interface SequencePushConsumer : NotifyPublish {

--  void push_structured_events(
--  		in CosNotification::EventBatch notifications)
--  	raises(CosEventComm::Disconnected);

--  void disconnect_sequence_push_consumer();

--  }; // SequencePushConsumer

--  interface SequencePullConsumer : NotifyPublish {
--  void disconnect_sequence_pull_consumer();
--  }; // SequencePullConsumer

--  interface SequencePullSupplier : NotifySubscribe {

--  CosNotification::EventBatch pull_structured_events(
--  		in long max_number )
--  	raises(CosEventComm::Disconnected);

--  CosNotification::EventBatch try_pull_structured_events(
--  		in long max_number,
--  		out boolean has_event)
--  	raises(CosEventComm::Disconnected);

--  void disconnect_sequence_pull_supplier();

--  }; // SequencePullSupplier

--  interface SequencePushSupplier : NotifySubscribe {
--  void disconnect_sequence_push_supplier();
--  }; // SequencePushSupplier

--  }; // CosNotifyComm

--  #endif /* _COS_NOTIFY_COMM_IDL_ */

--  End source: ./CosNotifyComm.idl -- 131 lines

--  Source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/event/CosEventComm.idl

--  //File: CosEventComm.idl
--  //Part of the Event Service
--  //OMG File: 04-10-06

--  #ifndef _COS_EVENT_COMM_IDL_
--  #define _COS_EVENT_COMM_IDL_

--  #ifdef _PRE_3_0_COMPILER_
--  #pragma prefix "omg.org"
--  #endif // _PRE_3_0_COMPILER_

--  module CosEventComm {

--  #ifndef _PRE_3_0_COMPILER_
--  	typeprefix CosEventComm "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--  	exception Disconnected{};

--  	interface PushConsumer {
--  		void push (in any data) raises(Disconnected);
--  		void disconnect_push_consumer(); 
--  	};

--  	interface PushSupplier {
--  		void disconnect_push_supplier();
--  	};

--  	interface PullSupplier {
--  		any pull () raises(Disconnected);
--  		any try_pull (out boolean has_event) 
--  			raises(Disconnected);
--  		void disconnect_pull_supplier(); 
--  	};

--  	interface PullConsumer {
--  		void disconnect_pull_consumer();
--  	};

--  };
--  #endif /* ifndef _COS_EVENT_COMM_IDL_ */

--  End source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/event/CosEventComm.idl
--   -- 42 lines

--  Source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/event/CosEventChannelAdmin.idl

--  //File: CosEventChannelAdmin.idl
--  //Part of the Event Service
--  //OMG File: 04-10-06

--  #ifndef _COS_EVENT_CHANNEL_ADMIN_IDL_
--  #define _COS_EVENT_CHANNEL_ADMIN_IDL_

--  #ifdef _PRE_3_0_COMPILER_
--  #include <CosEventComm.idl>
--  #pragma prefix "omg.org"
--  #else
--  import ::CosEventComm;
--  #endif // _PRE_3_0_COMPILER_

--  module CosEventChannelAdmin {

--  #ifndef _PRE_3_0_COMPILER_
--  	typeprefix CosEventChannelAdmin "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--   	exception AlreadyConnected {};
--  	exception TypeError {};

--  	interface ProxyPushConsumer: CosEventComm::PushConsumer {
--  		void connect_push_supplier(
--  				in CosEventComm::PushSupplier push_supplier)
--  			raises(AlreadyConnected);
--  	};

--  	interface ProxyPullSupplier: CosEventComm::PullSupplier {
--  		void connect_pull_consumer(
--  				in CosEventComm::PullConsumer pull_consumer)
--  			raises(AlreadyConnected);
--  	};

--  	interface ProxyPullConsumer: CosEventComm::PullConsumer {
--  		void connect_pull_supplier(
--  				in CosEventComm::PullSupplier pull_supplier)
--  			raises(AlreadyConnected,TypeError);
--  	};

--  	interface ProxyPushSupplier: CosEventComm::PushSupplier {
--  		void connect_push_consumer(
--  				in CosEventComm::PushConsumer push_consumer)
--  			raises(AlreadyConnected, TypeError);
--  	};

--  	interface ConsumerAdmin {
--  		ProxyPushSupplier obtain_push_supplier();
--  		ProxyPullSupplier obtain_pull_supplier();
--  	};

--  	interface SupplierAdmin {
--  		ProxyPushConsumer obtain_push_consumer();
--  		ProxyPullConsumer obtain_pull_consumer();
--  	};

--  	interface EventChannel {
--  		ConsumerAdmin for_consumers();
--  		SupplierAdmin for_suppliers();
--  		void destroy();
--  	};
--  };
--  #endif /* ifndef _COS_EVENT_CHANNEL_ADMIN_IDL_ */

--  End source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/event/CosEventChannelAdmin.idl
--   -- 65 lines

---------------------------------------------------

with PolyORB.Std;
with CORBA;
pragma Elaborate_All (CORBA);
with Ada.Exceptions;
with CORBA.Forward;
pragma Elaborate_All (CORBA.Forward);
with CORBA.Sequences.Unbounded;
with CosNotification;

package CosNotifyChannelAdmin is

   Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin:1.0";

   ConnectionAlreadyActive : exception;

   type ConnectionAlreadyActive_Members is
     new CORBA.Idl_Exception_Members with null record;

   ConnectionAlreadyActive_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ConnectionAlreadyActive:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyChannelAdmin.ConnectionAlreadyActive_Members);

   ConnectionAlreadyInactive : exception;

   type ConnectionAlreadyInactive_Members is
     new CORBA.Idl_Exception_Members with null record;

   ConnectionAlreadyInactive_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ConnectionAlreadyInactive:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyChannelAdmin.ConnectionAlreadyInactive_Members);

   NotConnected : exception;

   type NotConnected_Members is
     new CORBA.Idl_Exception_Members with null record;

   NotConnected_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/NotConnected:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyChannelAdmin.NotConnected_Members);

   package ConsumerAdmin_Forward is
     new CORBA.Forward;

   package SupplierAdmin_Forward is
     new CORBA.Forward;

   package EventChannel_Forward is
     new CORBA.Forward;

   package EventChannelFactory_Forward is
     new CORBA.Forward;

   type ProxyType is
     (PUSH_ANY,
      PULL_ANY,
      PUSH_STRUCTURED,
      PULL_STRUCTURED,
      PUSH_SEQUENCE,
      PULL_SEQUENCE,
      PUSH_TYPED,
      PULL_TYPED);

   ProxyType_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ProxyType:1.0";

   type ObtainInfoMode is
     (ALL_NOW_UPDATES_OFF,
      ALL_NOW_UPDATES_ON,
      NONE_NOW_UPDATES_OFF,
      NONE_NOW_UPDATES_ON);

   ObtainInfoMode_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ObtainInfoMode:1.0";

   type ProxyID is
     new CORBA.Long;

   ProxyID_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ProxyID:1.0";

   package IDL_SEQUENCE_CosNotifyChannelAdmin_ProxyID is
     new CORBA.Sequences.Unbounded
        (CosNotifyChannelAdmin.ProxyID);

   type ProxyIDSeq is
     new CosNotifyChannelAdmin.IDL_SEQUENCE_CosNotifyChannelAdmin_ProxyID.Sequence;

   ProxyIDSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ProxyIDSeq:1.0";

   type ClientType is
     (ANY_EVENT,
      STRUCTURED_EVENT,
      SEQUENCE_EVENT);

   ClientType_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ClientType:1.0";

   type InterFilterGroupOperator is
     (AND_OP,
      OR_OP);

   InterFilterGroupOperator_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/InterFilterGroupOperator:1.0";

   type AdminID is
     new CORBA.Long;

   AdminID_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/AdminID:1.0";

   package IDL_SEQUENCE_CosNotifyChannelAdmin_AdminID is
     new CORBA.Sequences.Unbounded
        (CosNotifyChannelAdmin.AdminID);

   type AdminIDSeq is
     new CosNotifyChannelAdmin.IDL_SEQUENCE_CosNotifyChannelAdmin_AdminID.Sequence;

   AdminIDSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/AdminIDSeq:1.0";

   AdminNotFound : exception;

   type AdminNotFound_Members is
     new CORBA.Idl_Exception_Members with null record;

   AdminNotFound_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/AdminNotFound:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyChannelAdmin.AdminNotFound_Members);

   ProxyNotFound : exception;

   type ProxyNotFound_Members is
     new CORBA.Idl_Exception_Members with null record;

   ProxyNotFound_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ProxyNotFound:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyChannelAdmin.ProxyNotFound_Members);

   type AdminLimit is
     record
         name : CosNotification.PropertyName;
         value : CosNotification.PropertyValue;
      end record;

   AdminLimit_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/AdminLimit:1.0";

   AdminLimitExceeded : exception;

   type AdminLimitExceeded_Members is
     new CORBA.Idl_Exception_Members with record
         admin_property_err : CosNotifyChannelAdmin.AdminLimit;
      end record;

   AdminLimitExceeded_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/AdminLimitExceeded:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyChannelAdmin.AdminLimitExceeded_Members);

   type ChannelID is
     new CORBA.Long;

   ChannelID_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ChannelID:1.0";

   package IDL_SEQUENCE_CosNotifyChannelAdmin_ChannelID is
     new CORBA.Sequences.Unbounded
        (CosNotifyChannelAdmin.ChannelID);

   type ChannelIDSeq is
     new CosNotifyChannelAdmin.IDL_SEQUENCE_CosNotifyChannelAdmin_ChannelID.Sequence;

   ChannelIDSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ChannelIDSeq:1.0";

   ChannelNotFound : exception;

   type ChannelNotFound_Members is
     new CORBA.Idl_Exception_Members with null record;

   ChannelNotFound_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyChannelAdmin/ChannelNotFound:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyChannelAdmin.ChannelNotFound_Members);

end CosNotifyChannelAdmin;
