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/CosNotifyFilter.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.
---------------------------------------------------

with CORBA.Object;
with PolyORB.Std;
with CORBA;
pragma Elaborate_All (CORBA);
with CosNotification;
with CosNotifyComm;
with CosNotifyComm.NotifySubscribe;

package CosNotifyFilter.Filter is

   type Ref is
     new CORBA.Object.Ref with null record;

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

   constraint_grammar_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/constraint_grammar:1.0";

   function get_constraint_grammar
     (Self : Ref)
     return CORBA.String;

   function add_constraints
     (Self : Ref;
      constraint_list : CosNotifyFilter.ConstraintExpSeq)
     return CosNotifyFilter.ConstraintInfoSeq;

   add_constraints_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/add_constraints:1.0";

   procedure modify_constraints
     (Self : Ref;
      del_list : CosNotifyFilter.ConstraintIDSeq;
      modify_list : CosNotifyFilter.ConstraintInfoSeq);

   modify_constraints_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/modify_constraints:1.0";

   function get_constraints
     (Self : Ref;
      id_list : CosNotifyFilter.ConstraintIDSeq)
     return CosNotifyFilter.ConstraintInfoSeq;

   get_constraints_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/get_constraints:1.0";

   function get_all_constraints
     (Self : Ref)
     return CosNotifyFilter.ConstraintInfoSeq;

   get_all_constraints_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/get_all_constraints:1.0";

   procedure remove_all_constraints
     (Self : Ref);

   remove_all_constraints_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/remove_all_constraints:1.0";

   procedure destroy
     (Self : Ref);

   destroy_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/destroy:1.0";

   function match
     (Self : Ref;
      filterable_data : CORBA.Any)
     return CORBA.Boolean;

   match_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/match:1.0";

   function match_structured
     (Self : Ref;
      filterable_data : CosNotification.StructuredEvent)
     return CORBA.Boolean;

   match_structured_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/match_structured:1.0";

   function match_typed
     (Self : Ref;
      filterable_data : CosNotification.PropertySeq)
     return CORBA.Boolean;

   match_typed_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/match_typed:1.0";

   function attach_callback
     (Self : Ref;
      callback : CosNotifyComm.NotifySubscribe.Ref)
     return CosNotifyFilter.CallbackID;

   attach_callback_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/attach_callback:1.0";

   procedure detach_callback
     (Self : Ref;
      callback : CosNotifyFilter.CallbackID);

   detach_callback_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/detach_callback:1.0";

   function get_callbacks
     (Self : Ref)
     return CosNotifyFilter.CallbackIDSeq;

   get_callbacks_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNotifyFilter/Filter/get_callbacks:1.0";

   function Is_A
     (Self : Ref;
      Logical_Type_Id : PolyORB.Std.String)
     return CORBA.Boolean;

private
   function Is_A
     (Logical_Type_Id : PolyORB.Std.String)
     return CORBA.Boolean;

end CosNotifyFilter.Filter;
