pragma Style_Checks ("NM32766");
pragma Wide_Character_Encoding (Brackets);

---------------------------------------------------
--  This file has been generated automatically from
--  /work/a/ports/net/polyorb/work/polyorb-2.9.0/idls/cos/notification/CosNotifyFilter.idl
--  by IAC (IDL to Ada Compiler) 2.9.0 (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: 
--  /work/a/ports/net/polyorb/work/polyorb-2.9.0/idls/cos/notification/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: 
--  /work/a/ports/net/polyorb/work/polyorb-2.9.0/idls/cos/notification/CosNotifyFilter.idl
--   -- 194 lines

--  Source: 
--  /work/a/ports/net/polyorb/work/polyorb-2.9.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: 
--  /work/a/ports/net/polyorb/work/polyorb-2.9.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: ./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: 
--  /work/a/ports/net/polyorb/work/polyorb-2.9.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: 
--  /work/a/ports/net/polyorb/work/polyorb-2.9.0/idls/cos/event/CosEventComm.idl
--   -- 42 lines

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

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

package CosNotifyFilter is

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

   type ConstraintID is
     new CORBA.Long;

   ConstraintID_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/ConstraintID:1.0";

   type ConstraintExp is
     record
         event_types : CosNotification.EventTypeSeq;
         constraint_expr : CORBA.String;
      end record;

   ConstraintExp_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/ConstraintExp:1.0";

   package IDL_SEQUENCE_CosNotifyFilter_ConstraintID is
     new CORBA.Sequences.Unbounded
        (CosNotifyFilter.ConstraintID);

   type ConstraintIDSeq is
     new CosNotifyFilter.IDL_SEQUENCE_CosNotifyFilter_ConstraintID.Sequence;

   ConstraintIDSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/ConstraintIDSeq:1.0";

   package IDL_SEQUENCE_CosNotifyFilter_ConstraintExp is
     new CORBA.Sequences.Unbounded
        (CosNotifyFilter.ConstraintExp);

   type ConstraintExpSeq is
     new CosNotifyFilter.IDL_SEQUENCE_CosNotifyFilter_ConstraintExp.Sequence;

   ConstraintExpSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/ConstraintExpSeq:1.0";

   type ConstraintInfo is
     record
         constraint_expression : CosNotifyFilter.ConstraintExp;
         constraint_id : CosNotifyFilter.ConstraintID;
      end record;

   ConstraintInfo_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/ConstraintInfo:1.0";

   package IDL_SEQUENCE_CosNotifyFilter_ConstraintInfo is
     new CORBA.Sequences.Unbounded
        (CosNotifyFilter.ConstraintInfo);

   type ConstraintInfoSeq is
     new CosNotifyFilter.IDL_SEQUENCE_CosNotifyFilter_ConstraintInfo.Sequence;

   ConstraintInfoSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/ConstraintInfoSeq:1.0";

   type MappingConstraintPair is
     record
         constraint_expression : CosNotifyFilter.ConstraintExp;
         result_to_set : CORBA.Any;
      end record;

   MappingConstraintPair_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/MappingConstraintPair:1.0";

   package IDL_SEQUENCE_CosNotifyFilter_MappingConstraintPair is
     new CORBA.Sequences.Unbounded
        (CosNotifyFilter.MappingConstraintPair);

   type MappingConstraintPairSeq is
     new CosNotifyFilter.IDL_SEQUENCE_CosNotifyFilter_MappingConstraintPair.Sequence;

   MappingConstraintPairSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/MappingConstraintPairSeq:1.0";

   type MappingConstraintInfo is
     record
         constraint_expression : CosNotifyFilter.ConstraintExp;
         constraint_id : CosNotifyFilter.ConstraintID;
         value : CORBA.Any;
      end record;

   MappingConstraintInfo_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/MappingConstraintInfo:1.0";

   package IDL_SEQUENCE_CosNotifyFilter_MappingConstraintInfo is
     new CORBA.Sequences.Unbounded
        (CosNotifyFilter.MappingConstraintInfo);

   type MappingConstraintInfoSeq is
     new CosNotifyFilter.IDL_SEQUENCE_CosNotifyFilter_MappingConstraintInfo.Sequence;

   MappingConstraintInfoSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/MappingConstraintInfoSeq:1.0";

   type CallbackID is
     new CORBA.Long;

   CallbackID_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/CallbackID:1.0";

   package IDL_SEQUENCE_CosNotifyFilter_CallbackID is
     new CORBA.Sequences.Unbounded
        (CosNotifyFilter.CallbackID);

   type CallbackIDSeq is
     new CosNotifyFilter.IDL_SEQUENCE_CosNotifyFilter_CallbackID.Sequence;

   CallbackIDSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/CallbackIDSeq:1.0";

   UnsupportedFilterableData : exception;

   type UnsupportedFilterableData_Members is
     new CORBA.Idl_Exception_Members with null record;

   UnsupportedFilterableData_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/UnsupportedFilterableData:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyFilter.UnsupportedFilterableData_Members);

   InvalidGrammar : exception;

   type InvalidGrammar_Members is
     new CORBA.Idl_Exception_Members with null record;

   InvalidGrammar_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/InvalidGrammar:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyFilter.InvalidGrammar_Members);

   InvalidConstraint : exception;

   type InvalidConstraint_Members is
     new CORBA.Idl_Exception_Members with record
         constr : CosNotifyFilter.ConstraintExp;
      end record;

   InvalidConstraint_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/InvalidConstraint:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyFilter.InvalidConstraint_Members);

   DuplicateConstraintID : exception;

   type DuplicateConstraintID_Members is
     new CORBA.Idl_Exception_Members with record
         id : CosNotifyFilter.ConstraintID;
      end record;

   DuplicateConstraintID_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/DuplicateConstraintID:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyFilter.DuplicateConstraintID_Members);

   ConstraintNotFound : exception;

   type ConstraintNotFound_Members is
     new CORBA.Idl_Exception_Members with record
         id : CosNotifyFilter.ConstraintID;
      end record;

   ConstraintNotFound_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/ConstraintNotFound:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyFilter.ConstraintNotFound_Members);

   CallbackNotFound : exception;

   type CallbackNotFound_Members is
     new CORBA.Idl_Exception_Members with null record;

   CallbackNotFound_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/CallbackNotFound:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyFilter.CallbackNotFound_Members);

   InvalidValue : exception;

   type InvalidValue_Members is
     new CORBA.Idl_Exception_Members with record
         constr : CosNotifyFilter.ConstraintExp;
         value : CORBA.Any;
      end record;

   InvalidValue_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/InvalidValue:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyFilter.InvalidValue_Members);

   type FilterID is
     new CORBA.Long;

   FilterID_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/FilterID:1.0";

   package IDL_SEQUENCE_CosNotifyFilter_FilterID is
     new CORBA.Sequences.Unbounded
        (CosNotifyFilter.FilterID);

   type FilterIDSeq is
     new CosNotifyFilter.IDL_SEQUENCE_CosNotifyFilter_FilterID.Sequence;

   FilterIDSeq_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/FilterIDSeq:1.0";

   FilterNotFound : exception;

   type FilterNotFound_Members is
     new CORBA.Idl_Exception_Members with null record;

   FilterNotFound_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/FilterNotFound:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNotifyFilter.FilterNotFound_Members);

end CosNotifyFilter;
