//File: DAISAESubscription.idl // Change history // DAIS RTF 1.1 6064 2004-10-01 CORBA 3 TypeID key word collision // DAIS RTF 1.1 6320 2004-10-01 CORBA 3 Home key word collision // DAIS RTF 1.1 7086 2004-09-09 Reason is renamed to Category // DAIS RTF 1.1 7138 2004-09-09 Support for keep alive messages added #ifndef _DAIS_AESUBSCRIPTION_IDL #define _DAIS_AESUBSCRIPTION_IDL #pragma prefix "omg.org" #include module DAIS { module AlarmsAndEvents { module Subscription { struct State { boolean active; unsigned long buffer_time; unsigned long max_size; unsigned long keep_alive_time; //7138 }; struct OPCSourceFilter { ServerItemIdentifications areas; ServerItemIdentifications soures; }; typedef short SourceFilterType; const SourceFilterType OPC_SOURCE_FILTER_TYPE = 1; const SourceFilterType XPATH_SOURCE_FILTER_TYPE = 2; union SourceFilter switch(SourceFilterType) { case OPC_SOURCE_FILTER_TYPE : OPCSourceFilter opc_source_filters; case XPATH_SOURCE_FILTER_TYPE : string xpath_source_filter; }; typedef short CategoryFilterType; //7086 const CategoryFilterType OPC_CATEGORY_FILTER_TYPE = 1; //7086 const CategoryFilterType XPATH_CATEGORY_FILTER_TYPE = 2; //7086 union CategoryFilter switch(CategoryFilterType) { case OPC_CATEGORY_FILTER_TYPE : ServerItemIdentifications opc_category_filters; case XPATH_CATEGORY_FILTER_TYPE : string xpath_category_filter; }; //7086 struct FilterSpec { EventFormat event_format; //7086 CategoryFilter category_filter; //7086 unsigned long low_severity; unsigned long high_severity; SourceFilter source_filter; ResourceIDs type_filter; //6064 }; struct PropSelection { ResourceID category; PropertyIDs properties; }; typedef sequence PropSelections; enum ReadDirection { READ_FORWARDS, READ_BAKWARDS }; typedef unsigned long CancelID; interface Manager { exception BusyDueToRefresh{string reason;}; exception HistoryNotImplemented{string reason;}; attribute IO::Callback callback; void set_filter ( in FilterSpec filer_spec ) raises (BusyDueToRefresh); FilterSpec get_filter (); void select_returned_properties ( in PropSelections prop_selections ); PropSelections get_returned_properties ( in ResourceIDs categories //7086 ); CancelID refresh () raises (BusyDueToRefresh); CancelID async_read_history ( in DateTime start_time, in unsigned long number_of_events, in ReadDirection direction, in unsigned long transaction_id ) raises (HistoryNotImplemented); void cancel ( in CancelID cancel_id ); State get_state (); State set_state ( in State subscription_spec ); //7076 Manager clone (); void destroy (); }; typedef unsigned long Filter; const Filter FILTER_BY_EVENT_FORMAT = 0x0001; //7086 const Filter FILTER_BY_CATEGORY = 0x0002; //7086 const Filter FILTER_BY_SEVERITY = 0x0004; const Filter FILTER_BY_AREA = 0x0008; const Filter FILTER_BY_SOURCE = 0x0010; const Filter FILTER_WITH_XPATH = 0x0020; const Filter FILTER_BY_SOURCE_TYPE = 0x0040; interface IHome //6320 { exception InvalidStateSpecified{string reason;}; Filter query_available_filters (); Manager create_subscription ( in State subscription_spec, out State revised_subscr_spec ); //7076 }; };};}; #endif // _DAIS_AESUBSCRIPTION_IDL