Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

DsTypedEventLogAdmin.idl

Go to the documentation of this file.
00001 #ifndef DSTYPEDEVENTLOGADMIN_IDL 
00002 #define DSTYPEDEVENTLOGADMIN_IDL
00003 
00004 #include <orbdefs.idl>
00005 
00006 #include <CosEventChannelAdmin.idl>
00007 #include <CosTypedEventChannelAdmin.idl>
00008 #include <DsLogAdmin.idl>
00009 
00020 #pragma prefix "omg.org"
00021 
00022 module DsTypedEventLogAdmin
00023 {
00024    typedef sequence<any> ArgumentList;
00025 
00037    struct TypedLogRecord
00038    {
00039       DsLogAdmin::RecordId id;
00040       DsLogAdmin::TimeT time;
00041       DsLogAdmin::NVList attr_list;
00042       CORBA::RepositoryId interface_id; // repository id of the interface for
00043                                         // sending typed event
00044       CORBA::Identifier operation_name; // operation name
00045       ArgumentList arg_list; // argument list, contains event data
00046    };
00047 
00048    typedef sequence<TypedLogRecord> TypedRecordList;
00049 
00054    interface TypedRecordIterator
00055    {
00068       TypedRecordList get(in unsigned long position,
00069                           in unsigned long how_many)
00070          raises(DsLogAdmin::InvalidParam);
00071 
00075       void destroy();
00076    };
00077 
00082    interface TypedEventLog : DsLogAdmin::Log,
00083                              CosTypedEventChannelAdmin::TypedEventChannel
00084    {
00085       // typed record query
00098       TypedRecordList typed_query
00099       (
00100          in string grammar,
00101          in DsLogAdmin::Constraint c,
00102          out TypedRecordIterator i
00103       )
00104          raises(DsLogAdmin::InvalidGrammar,
00105                 DsLogAdmin::InvalidConstraint);
00106 
00107       // typed record retrieval
00119       TypedRecordList typed_retrieve
00120       (
00121          in DsLogAdmin::TimeT from_time,
00122          in long how_many,
00123          out TypedRecordIterator i
00124       );
00125    };
00126 
00132    interface TypedEventLogFactory : DsLogAdmin::LogMgr,
00133                                     CosEventChannelAdmin::ConsumerAdmin
00134    {
00150       TypedEventLog create
00151       (
00152          in DsLogAdmin::LogFullActionType full_action,
00153          in unsigned long long max_size,
00154          in DsLogAdmin::CapacityAlarmThresholdList thresholds,
00155          out DsLogAdmin::LogId id
00156       )
00157          raises (DsLogAdmin::InvalidLogFullAction,
00158                  DsLogAdmin::InvalidThreshold);
00159 
00176       TypedEventLog create_with_id
00177       (
00178          in DsLogAdmin::LogId id,
00179          in DsLogAdmin::LogFullActionType full_action,
00180          in unsigned long long max_size,
00181          in DsLogAdmin::CapacityAlarmThresholdList thresholds
00182       )
00183          raises (DsLogAdmin::LogIdAlreadyExists,
00184                  DsLogAdmin::InvalidLogFullAction,
00185                  DsLogAdmin::InvalidThreshold);
00186    };
00187 };
00188 
00189 #endif /* DSTYPEDEVENTLOGADMIN_IDL */