-- IDL module extracted from ITU-T Q.834.4 (07/2003)

#ifndef __Q834_4_CONTROLARCHIVE_DEFINED #define __Q834_4_CONTROLARCHIVE_DEFINED #include "Q834Common.idl" #pragma prefix "itu.Int" module q834_4 { module ControlArchive { // begin definitions from other idl files // From Q834Common typedef Q834Common::NameType NameType; typedef Q834Common::ManagedEntityIdType ManagedEntityIdType; typedef Q834Common::ManagedEntityIdSeqType ManagedEntityIdSeqType; typedef Q834Common::AdministrativeStateType AdministrativeStateType; typedef Q834Common::FilterType FilterType; typedef Q834Common::UserLabelType UserLabelType; typedef Q834Common::OperationalStateType OperationalStateType; typedef Q834Common::RecordType RecordType; typedef Q834Common::RecordSeqType RecordSeqType; typedef Q834Common::UserLabelSeqType UserLabelSeqType; typedef Q834Common::RecordKindType RecordKindType; #define AccessDenied Q834Common::AccessDenied #define DuplicateUserLabel Q834Common::DuplicateUserLabel #define Timeout Q834Common::Timeout #define UnknownRecordSet Q834Common::UnknownRecordSet // End definitions from other idl files // Local data types enum FullActionType { halt, // indicates that the log should stop writing any more records if the log is full wrap // indicates that the log should delete old records if the log is full. }; typedef unsigned long long MaxSizeType; typedef unsigned short SizeThresholdType; // 0-100% typedef unsigned long long CurrentSizeType; struct RecordSetStatusType { CurrentSizeType currentSize; OperationalStateType operationalState; MaxSizeType maxSize; SizeThresholdType sizeThreshold; NameType filterName; FullActionType fullAction; AdministrativeStateType administrativeState; RecordKindType recordKind; UserLabelType recordSetUserLabel; }; enum CreationModeType { operatorDefined, initialList, either }; // Local exceptions exception RecordSetExists {ManagedEntityIdType recordSetId;}; exception LockedAlready {}; exception UnknownOption {}; exception NoSuchRecords {}; exception TooManyRecords {}; // End local definitions interface RecordSetMgr : itut_x780::ManagedObject { // See 9.4.1.1 for the description of the behaviour of this operation ManagedEntityIdType createLog ( in UserLabelType recordSetUserLabel, in AdministrativeStateType administrativeState, in NameType filterName, in FullActionType fullAction, in MaxSizeType maxSize, in SizeThresholdType sizeThreshold) raises (RecordSetExists, DuplicateUserLabel, AccessDenied); // See 9.4.1.2 for the description of the behaviour of this operation ManagedEntityIdType createArchive ( in UserLabelType recordSetUserLabel, in AdministrativeStateType administrativeState, in RecordKindType recordKind, in MaxSizeType maxSize) raises (RecordSetExists, DuplicateUserLabel, AccessDenied); // See 9.4.1.3 for the description of the behaviour of this operation RecordSetStatusType getStatusAttributes ( in ManagedEntityIdType recordSetId) raises (AccessDenied, UnknownRecordSet); // See 9.4.1.4 for the description of the behaviour of this operation void suspendArchive ( in ManagedEntityIdType recordSetId) raises (AccessDenied, UnknownRecordSet); // See 9.4.1.5 for the description of the behaviour of this operation void resumeArchive ( in ManagedEntityIdType recordSetId) raises (AccessDenied, UnknownRecordSet); // See 9.4.1.6 for the description of the behaviour of this operation void deleteArchive ( in ManagedEntityIdType recordSetId ) raises (UnknownRecordSet, AccessDenied ); // See 9.4.1.7 for the description of the behaviour of this operation void purgeArchive ( in ManagedEntityIdType recordSetId ) raises (UnknownRecordSet, AccessDenied ); // See 9.4.1.8 for the description of the behaviour of this operation RecordSeqType selectRecords ( in FilterType SelectionFilter, in ManagedEntityIdType recordSetId) raises (UnknownRecordSet, Timeout, NoSuchRecords, AccessDenied, TooManyRecords); // See 9.4.1.9 for the description of the behaviour of this operation ManagedEntityIdSeqType recordSetListGet ( in CreationModeType creationMode) raises (AccessDenied); // See 9.4.1.10 for the description of the behaviour of this operation void changeUserLabel( in ManagedEntityIdType recordSetId, in UserLabelType newUserLabel) raises (UnknownRecordSet, AccessDenied, DuplicateUserLabel); }; // interface RecordSetMgr }; // module ControlArchive }; // module q834_4 #endif