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;
00043
00044 CORBA::Identifier operation_name;
00045 ArgumentList arg_list;
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
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
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