-- 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