-- IDL module extracted from ITU-T Q.821.1 (09/2001)

#ifndef _itut_q821_1_idl_ #define _itut_q821_1_idl_ #include <itut_x780.idl> #include <itut_x780_1.idl> #include <itut_x780ct.idl> #include <itut_m3120.idl> #include <itut_q816.idl> #include <CosNotification.idl> #pragma prefix "itu.int" /** This IDL code (beginning with the line "#ifndef … " through the end of this clause) is intended to be stored in a file named "itut_q821_1.idl" located in the search path used by the IDL compiler on your system. A compiler supporting the CORBA version specified in ITU?T Rec. Q.816 must be used. */ /** This module, itut_q81d1, contains the IDL interface definition for ITU-T Rec. Q.821 (February 2000). The IDL definitions in this file are the object interfaces. */ module itut_q821d1 { /** 10.1 Imports */ /** Types imported from ITU-T Rec. X.780 */ typedef itut_x780::AdministrativeStateType AdministrativeStateType; typedef itut_x780::DeletePolicyType DeletePolicyType; typedef itut_x780::ExternalTimeType ExternalTimeType; typedef itut_x780::GeneralizedTimeType GeneralizedTimeType; typedef itut_x780::MONameType MONameType; typedef itut_x780::NameBindingType NameBindingType; typedef itut_x780::ObjectClassType ObjectClassType; typedef itut_x780::OperationalStateType OperationalStateType; typedef itut_x780::PerceivedSeverityType PerceivedSeverityType; typedef itut_x780::ProbableCauseType ProbableCauseType; typedef itut_x780::StartTimeType StartTimeType; typedef itut_x780::StopTimeType StopTimeType; typedef itut_x780::StringSetType StringSetType; typedef itut_x780ct::TimePeriodType TimePeriodType; /** Types imported from ITU-T Rec. Q.816 */ typedef itut_q816::FilterType FilterType; typedef itut_q816::LanguageType LanguageType; typedef itut_q816::ScopeType ScopeType; /** Types imported from ITU-T Rec. M.3120 */ typedef itut_m3120::AlarmStatusType AlarmStatusType; /** 10.2 Forward Declarations */ /** Interface forward declarations */ interface AlarmSynchronizationDataIterator; interface CurrentAlarmSummaryControl; interface CurrentAlarmSummaryControl_F; interface CurrentAlarmSummaryControlFactory; interface EnhancedCurrentAlarmSummaryControl; interface EnhancedCurrentAlarmSummaryControl_F; interface EnhancedCurrentAlarmSummaryControlFactory; interface ManagementOperationsSchedule; interface ManagementOperationsSchedule_F; interface ManagementOperationsScheduleFactory; /** valuetype forward declarations */ valuetype CurrentAlarmSummaryControlValueType; valuetype EnhancedCurrentAlarmSummaryControlValueType; valuetype ManagementOperationsScheduleValueType; /** 10.3 Structures And Typedefs */ /** AlarmStatusList ::= SET OF AlarmStatus */ typedef sequence <AlarmStatusType> AlarmStatusSetType; /** ObjectList ::= SET OF ObjectListChoice ObjectListChoice ::= CHOICE { singleObject [1] ObjectInstance, rangeOfObjects [2] RangeOfObjects } RangeOfObjects ::= SEQUENCE { superiorObjectName ObjectInstance, terminalRDNRange TerminalRDNRange } TerminalRDNRange ::= SEQUENCE { attributeId OBJECT IDENTIFIER, firstObjectInRange INTEGER, lastObjectInRange INTEGER } The new name for ObjectList is ObjectListSetType */ struct TerminalRDNRangeType { string attributeId; long firstObjectInRange; long lastObjectInRange; }; struct RangeOfObjectsType { MONameType superiorObjectName; TerminalRDNRangeType terminalRDNRange; }; enum ObjectListChoice { singleObjectChoice, rangeOfObjectsChoice }; /** The rangeOfObjects may be used to specify a group of objects which are named in a contiguous manner without having to specify each instance explicitly. This mechanism may only be used to specify object instances which use integer as the final RDN of their DN. To use this mechanism, the DN of the superior object and a range of integers are specified. Each integer in the range can be concatenated with the DN of the superior object to form the DN of an indicated object. */ union ObjectListType switch (ObjectListChoice) { case singleObjectChoice: MONameType singleObject; case rangeOfObjectsChoice: RangeOfObjectsType rangeOfObjects; }; typedef sequence <ObjectListType> ObjectListSetType; /** PerceivedSeverityList ::= SET OF PerceivedSeverity The new name for PerceivedSeverityList is PerceivedSeveritySetType */ typedef sequence <PerceivedSeverityType> PerceivedSeveritySetType; /** ProbableCauseList ::= SET OF ProbableCause The new name for ProbableCauseList is ProbableCauseSetType */ typedef sequence <ProbableCauseType> ProbableCauseSetType; /** SummaryContents ::= BIT STRING { includePerceivedSeverity(0), includeAlarmStatus(1), includeProbableCause(2) } The new name for SummaryContents is SummaryContentsSetType */ enum SummaryContentsType { includePerceivedSeverity, includeAlarmStatus, includeProbableCause }; /** The set must be non-empty and cannot include an item more than once */ typedef sequence <SummaryContentsType> SummaryContentsSetType; /** AlarmSummaryData ::= SEQUENCE OF ObjectAlarmSummary ObjectAlarmSummary ::= SEQUENCE{ objectOfReference ObjectOfReference, summaryInfo SEQUENCE OF AlarmSummaryInfo } ObjectOfReference ::= ObjectInstance AlarmSummaryInfo ::= SEQUENCE { perceivedSeverity [0] PerceivedSeverity OPTIONAL, alarmStatus [1] AlarmStatus OPTIONAL, probableCause [2] ProbableCause OPTIONAL } The new name for AlarmSummaryData is AlarmSummaryDataSeqType */ union PerceivedSeverityTypeOpt switch(boolean) { case TRUE: PerceivedSeverityType perceivedSeverity; }; union AlarmStatusTypeOpt switch(boolean) { case TRUE: AlarmStatusType alarmStatus; }; union ProbableCauseTypeOpt switch(boolean) { case TRUE: ProbableCauseType probableCause; }; /** At least one value must be provided for AlarmSummaryInfoType */ struct AlarmSummaryInfoType { PerceivedSeverityTypeOpt perceivedSeverityValue; AlarmStatusTypeOpt alarmStatusValue; ProbableCauseTypeOpt probableCauseValue; }; typedef MONameType ObjectOfReferenceType; typedef sequence <AlarmSummaryInfoType> AlarmSummaryInfoSeqType; struct ObjectAlarmSummaryType { ObjectOfReferenceType objectOfReference; AlarmSummaryInfoSeqType summaryInfo; }; typedef sequence <ObjectAlarmSummaryType> AlarmSummaryDataSeqType; /** AffectedObjectClass ::= OBJECT IDENTIFIER */ typedef ObjectClassType AffectedObjectClassType; typedef ObjectListSetType AffectedObjectInstancesType; typedef StartTimeType BeginTimeType; /** Note that the defaultEndTimeType is continual, i.e. no value. StopTimeType is too complicated of a type to define IDL constants. */ typedef StopTimeType EndTimeType; /** Interval ::= CHOICE { days [0] INTEGER, hours [1] INTEGER, minutes [2] INTEGER, seconds [3] INTEGER } The new name for Interval is TimeIntervalType from ITU-T Rec. X.780 */ /** Correlated Record Name and Log Record Id are not supported in the CORBA model because the application does not know the log record information before a notification is sent. Hence, these attributes cannot be sent via the CORBA application. Suspect Object List has been moved to ITU-T Rec. M.3120. */ /** ScopedCriteria ::= SEQUENCE { baseManagedObject ObjectInstance, scope Scope, criteria CMISFilter DEFAULT and : {} } Note that the CORBA interface adds a language attribute as part of the MOO Services. This application is trying to duplicate that interface. The new name for ScopedCriteria is ScopedCriteriaSeqType */ struct ScopedCriteriaType { MONameType baseManagedObject; /** Default scope is base managed object only (there is no default value for this because the type is too complex to represent an IDL constant) */ ScopeType scope; /** Default criteria is all objects (i.e. defaultFilter in ITU-T Rec. X.780) */ FilterType criteria; /** Default language is "MOO 1.0" (i.e. defaultLanguage in ITU-T Rec. X.780) */ LanguageType language; }; typedef sequence <ScopedCriteriaType> ScopedCriteriaSeqType; /** SimpleObjectList ::= SET OF ObjectInstance */ typedef sequence <MONameType> SimpleObjectListSetType; /** AlarmSynchronizationInfo ::= CHOICE { allObjectsRelativeToSuperior[0] NULL, scopedCriteria [1] ScopedCriteria, simpleObjectList [2] ObjectList } */ enum AlarmSynchronizationInfoChoice { allObjectsRelativeToSuperiorChoice, scopedCriteriaChoice, simpleObjectListChoice }; union AlarmSynchronizationInfoType switch (AlarmSynchronizationInfoChoice) { case scopedCriteriaChoice: ScopedCriteriaSeqType scopedCriteria; case simpleObjectListChoice: SimpleObjectListSetType simpleObjectList; /** case allObjectsRelativeToSuperiorChoice contains a NULL value */ }; /** AlarmSynchronizationData ::= SEQUENCE { alarmManagedObjectClass ObjectClass, alarmManagedObjectInstance ObjectInstance, eventTime EventTime OPTIONAL, eventType EventTypeId, alarmInfo COMPONENTS OF AlarmInfo } */ /** In Q/CMIP, we want to keep the same data as provided as an event notification. This is why the Alarm Synchronization Data structure was created. In CORBA, we want to keep the same data as provided in an event notification. This is why we will use a sequence of Notification Service structured events, called an event batch. The format of the structured events is found in ITU-T Rec. Q.816. */ typedef CosNotification::EventBatch AlarmSynchronizationDataSeqType; /** Note that ITU-T Rec. X.780 uses the ApplicationError exception, so it will be used instead of the InvalidBaseMangedObjectError exception. */ /** Error response for an invalid Object List Object Instance parameter Note that the Q version returned a single managed object multiple times with multiple errors. The CORBA version will throw a single exception that may contain multiple managed objects. */ typedef sequence <MONameType> InvalidObjectInstanceErrorSeqType; /** ITU-T Rec. Q.821 Correlated Record Name and Log Record Id are not supported in the CORBA model because the application does not know the log record information before a notification is sent. Hence, these attributes cannot be sent via the CORBA application. The parameter re-definition for SuspectObjectList is no longer needed, since the CORBA interface doesn't differentiate between EVENT-INFO and ACTION-REPLY parameters. Thus, Suspect Object List Action Parameter is no longer required. */ /** ASN.1 values not used in ITU-T Rec. Q.821 – who knows who uses them (if anyone). */ /** NotificationId ::= INTEGER ProblemData ::= SEQUENCE { identifier [0] OBJECT IDENTIFIER, significance [1] BOOLEAN DEFAULT FALSE, information [2] ANY DEFINED BY identifier } StatusChange ::= SET OF SEQUENCE { statusAttributeID OBJECT IDENTIFIER, oldStatusValue [1] ANY DEFINED BY statusAttributeID OPTIONAL, newStatusValue [2] ANY DEFINED BY statusAttributeID } CountInterval ::= SEQUENCE { count INTEGER, startTime GeneralizedTime, window TimeInterval } CountWindow ::= SEQUENCE { count INTEGER, window TimeInterval } ValueDuration ::= SEQUENCE { value REAL, duration TimeInterval } GaugeParameters ::= CHOICE { up [1] SEQUENCE { high ObservedValue, low ObservedValue }, down [2] SEQUENCE { high ObservedValue, low ObservedValue }} Threshold ::= CHOICE { absoluteCount [0] INTEGER, countOverFixedTimeInterval [1] CountInterval, countOverSlidingWindow [2] CountWindow, valueAndDuration [3] ValueDuration, absoluteValue [4] REAL, guage [5] GaugeParameters } Unclear what the semantics for these items should be, so they are not defined */ /** Define default values for TimePeriodType time types; */ const unsigned short defaultDay = 0; const unsigned short defaultHour = 0; const unsigned short defaultMinute = 0; const unsigned short defaultSecond = 0; const unsigned short defaultMs = 0; const unsigned short defaultUs = 0; const unsigned short defaultNs = 0; const unsigned short defaultPs = 0; /** Constant for packages used in this Recommendation. */ const string ManagementOperationsScheduleOperationalStatePkg = "itut_q821d1::ManagementOperationsScheduleOperationalStatePkg"; /** The following is the bit string to be used when specifying the functional units for alarm surveillance. AlarmSurveillanceFunctionalUnits ::= BIT STRING { as-kernel(0), as-alarm-retrieval(1), as-basic-arc(2), as-enhanced-arc(3), as-cur-alm-sum-reporting(4), as-basic-mos(5), as-enhanced-mos(6), as-cur-alm-sum-control(7), as-cur-alm-sum-retrieval(8), as-basic-log-control(9), as-enhanced-log-control(10), as-alarm-deletion(11), as-alarm-event-criteria(12), as-alarm-indication(13), as-alarm-synch(14), as-alarm-synch-cancel(15)} It isn't yet clear how to define the constants. as-heartbeat has been added and as-alarm-synch-cancel is no longer supported. The Functional Unit bit strings are currently not defined in CORBA. */ /** 10.4 Exceptions */ /** "-- see 7.2.5.1.4 on model –" */ exception InvalidObjectInstanceErrorParameter { InvalidObjectInstanceErrorSeqType objectInstanceSequence; }; /** "-- see 7.2.5.1.4 on model –" */ exception SelectionCriteriaNotSupported {}; /* Used for managed object instances where the managementOperationsScheduleOperationalStatePkg package isn't used. */ exception NOmanagementOperationsScheduleOperationalStatePkg {}; /** 10.5 Current Alarm Summary Control */ /** This valuetype is used to retrieve all attributes. */ valuetype CurrentAlarmSummaryControlValueType : itut_x780::ManagedObjectValueType { public AlarmStatusSetType alarmStatusList; // GET-REPLACE, ADD-REMOVE public ObjectListSetType objectList; // GET-REPLACE, ADD-REMOVE public PerceivedSeveritySetType perceivedSeverityList; // GET-REPLACE, ADD-REMOVE public ProbableCauseSetType probableCauseList; // GET-REPLACE, ADD-REMOVE }; // valuetype CurrentAlarmSummaryControlValueType /** "-- see 6.2.1 --";; */ /** 10.5.1 CurrentAlarmSummaryControl Interface */ /** Current Alarm Summary Control managed object The Current Alarm Summary Control and Management Operations Schedule managed objects have been supplied for completeness. It is expected that most CORBA applications would use the Enhanced Current Alarm Summary Control managed object instead of these two managed objects. */ interface CurrentAlarmSummaryControl : itut_x780::ManagedObject { /** "-- see 6.2.1 a) --" alarmStatusList GET-REPLACE, ADD-REMOVE */ AlarmStatusSetType alarmStatusListGet () raises (itut_x780::ApplicationError); void alarmStatusListSet (in AlarmStatusSetType alarmStatusList) raises (itut_x780::ApplicationError); void alarmStatusListAdd (in AlarmStatusSetType alarmStatusList) raises (itut_x780::ApplicationError); void alarmStatusListRemove (in AlarmStatusSetType alarmStatusList) raises (itut_x780::ApplicationError); /** "-- see 6.2.1 b) --";; objectList GET-REPLACE, ADD-REMOVE */ ObjectListSetType objectListGet () raises (itut_x780::ApplicationError); void objectListSet (in ObjectListSetType objectList) raises (itut_x780::ApplicationError); void objectListAdd (in ObjectListSetType objectList) raises (itut_x780::ApplicationError); void objectListRemove (in ObjectListSetType objectList) raises (itut_x780::ApplicationError); /** "-- see 6.2.1 c) --";; perceivedSeverityList GET-REPLACE, ADD-REMOVE */ PerceivedSeveritySetType perceivedSeverityListGet () raises (itut_x780::ApplicationError); void perceivedSeverityListSet (in PerceivedSeveritySetType perceivedSeverityList) raises (itut_x780::ApplicationError); void perceivedSeverityListAdd (in PerceivedSeveritySetType perceivedSeverityList) raises (itut_x780::ApplicationError); void perceivedSeverityListRemove (in PerceivedSeveritySetType perceivedSeverityList) raises (itut_x780::ApplicationError); /** "-- see 6.2.1 d) --" probableCauseList GET-REPLACE, ADD-REMOVE */ ProbableCauseSetType probableCauseListGet () raises (itut_x780::ApplicationError); void probableCauseListSet (in ProbableCauseSetType probableCauseList) raises (itut_x780::ApplicationError); void probableCauseListAdd (in ProbableCauseSetType probableCauseList) raises (itut_x780::ApplicationError); void probableCauseListRemove (in ProbableCauseSetType probableCauseList) raises (itut_x780::ApplicationError); /** "-- see II.2.10.1 --" @param summaryContents Indicates whether Perceived Severity, Alarm Status and/or Probable Cause are included in the results @param alarmSummaryData Sequences of alarm summaries including Perceived Severity, Alarm Status and/or Probable Cause, depending on summary contents */ void retrieveCurrentAlarmSummary (in SummaryContentsSetType summaryContents, out AlarmSummaryDataSeqType alarmSummaryData) raises (itut_x780::ApplicationError); MANDATORY_NOTIFICATION ( itut_x780::Notifications, currentAlarmSummaryReport) }; // interface CurrentAlarmSummaryControl /** 10.5.2 CurrentAlarmSummaryControl_F Interface */ /** Current Alarm Summary Control Facade managed object – see ITU-T Rec. X.780.1 The Current Alarm Summary Control and Management Operations Schedule managed objects have been supplied for completeness. It is expected that most CORBA applications would use the Enhanced Current Alarm Summary Control managed object instead of these two managed objects. */ interface CurrentAlarmSummaryControl_F : itut_x780::ManagedObject_F { /** "-- see 6.2.1 a) --" alarmStatusList GET-REPLACE, ADD-REMOVE */ AlarmStatusSetType alarmStatusListGet (in MONameType name) raises (itut_x780::ApplicationError); void alarmStatusListSet (in MONameType name, in AlarmStatusSetType alarmStatusList) raises (itut_x780::ApplicationError); void alarmStatusListAdd (in MONameType name, in AlarmStatusSetType alarmStatusList) raises (itut_x780::ApplicationError); void alarmStatusListRemove (in MONameType name, in AlarmStatusSetType alarmStatusList) raises (itut_x780::ApplicationError); /** "-- see 6.2.1 b) --";; objectList GET-REPLACE, ADD-REMOVE */ ObjectListSetType objectListGet (in MONameType name) raises (itut_x780::ApplicationError); void objectListSet (in MONameType name, in ObjectListSetType objectList) raises (itut_x780::ApplicationError); void objectListAdd (in MONameType name, in ObjectListSetType objectList) raises (itut_x780::ApplicationError); void objectListRemove (in MONameType name, in ObjectListSetType objectList) raises (itut_x780::ApplicationError); /** "-- see 6.2.1 c) --";; perceivedSeverityList GET-REPLACE, ADD-REMOVE */ PerceivedSeveritySetType perceivedSeverityListGet (in MONameType name) raises (itut_x780::ApplicationError); void perceivedSeverityListSet (in MONameType name, in PerceivedSeveritySetType perceivedSeverityList) raises (itut_x780::ApplicationError); void perceivedSeverityListAdd (in MONameType name, in PerceivedSeveritySetType perceivedSeverityList) raises (itut_x780::ApplicationError); void perceivedSeverityListRemove (in MONameType name, in PerceivedSeveritySetType perceivedSeverityList) raises (itut_x780::ApplicationError); /** "-- see 6.2.1 d) --" probableCauseList GET-REPLACE, ADD-REMOVE */ ProbableCauseSetType probableCauseListGet (in MONameType name) raises (itut_x780::ApplicationError); void probableCauseListSet (in MONameType name, in ProbableCauseSetType probableCauseList) raises (itut_x780::ApplicationError); void probableCauseListAdd (in MONameType name, in ProbableCauseSetType probableCauseList) raises (itut_x780::ApplicationError); void probableCauseListRemove (in MONameType name, in ProbableCauseSetType probableCauseList) raises (itut_x780::ApplicationError); /** "-- see II.2.10.1 --" @param name Current Alarm Summary managed object instance name @param summaryContents Indicates whether Perceived Severity, Alarm Status and/or Probable Cause are included in the results @param alarmSummaryData Sequences of alarm summaries including Perceived Severity, Alarm Status and/or Probable Cause, depending on summary contents */ void retrieveCurrentAlarmSummary (in MONameType name, in SummaryContentsSetType summaryContents, out AlarmSummaryDataSeqType alarmSummaryData) raises (itut_x780::ApplicationError); MANDATORY_NOTIFICATION ( itut_x780::Notifications, currentAlarmSummaryReport) }; // interface CurrentAlarmSummaryControl_F /** 10.5.3 CurrentAlarmSummaryControlFactory Interface */ /** Creation and Deletion for Current Alarm Summary Control */ interface CurrentAlarmSummaryControlFactory : itut_x780::ManagedObjectFactory { itut_x780::ManagedObject create (in NameBindingType nameBinding, in MONameType superior, in string reqID, // no auto-naming, cannot be null out MONameType name, in StringSetType packageNameList, in AlarmStatusSetType alarmStatusList, // GET-REPLACE, ADD-REMOVE in ObjectListSetType objectList, // GET-REPLACE, ADD-REMOVE in PerceivedSeveritySetType perceivedSeverityList, // GET-REPLACE, ADD-REMOVE in ProbableCauseSetType probableCauseList) // GET-REPLACE, ADD-REMOVE raises (itut_x780::ApplicationError, itut_x780::CreateError); }; // interface CurrentAlarmSummaryControlFactory /** 10.6 Management Operations Schedule */ /** This valuetype is used to retrieve all attributes */ valuetype ManagementOperationsScheduleValueType : itut_x780::ManagedObjectValueType { public AdministrativeStateType administrativeState; // GET-REPLACE public AffectedObjectClassType affectedObjectClass; // GET-REPLACE public AffectedObjectInstancesType affectedObjectInstances; // GET-REPLACE public BeginTimeType beginTime; // GET-REPLACE public EndTimeType endTime; // GET-REPLACE public TimePeriodType interval; // GET-REPLACE public OperationalStateType operationalState; // conditional // managementOperationsScheduleOperationalStatePkg // GET }; // valuetype ManagementOperationsScheduleValueType /** "-- see 6.2.2 --";; */ /** 10.6.1 ManagementOperationsSchedule Interface */ /** Management Operations Schedule managed object Destination Address is not needed in a CORBA world. In the CORBA world, what channel is to be used is outside the scope of an object. Thus, a managed object cannot send a message from one channel or another */ interface ManagementOperationsSchedule : itut_x780::ManagedObject { /** "-- see 6.2.2 a) --" administrativeState GET-REPLACE */ AdministrativeStateType administrativeStateGet () raises (itut_x780::ApplicationError); void administrativeStateSet (in AdministrativeStateType administrativeState) raises (itut_x780::ApplicationError); /** "-- see 6.2.2 b) --" affectedObjectClass GET-REPLACE */ AffectedObjectClassType affectedObjectClassGet () raises (itut_x780::ApplicationError); void affectedObjectClassSet (in AffectedObjectClassType affectedObjectClass) raises (itut_x780::ApplicationError); /** "-- see 6.2.2 c) --" affectedObjectInstances GET-REPLACE */ AffectedObjectInstancesType affectedObjectInstancesGet () raises (itut_x780::ApplicationError); void affectedObjectInstancesSet (in AffectedObjectInstancesType affectedObjectInstances) raises (itut_x780::ApplicationError); /** "-- see 6.2.2 d) --" first activation at begin time, if present, or else when schedule is created beginTime GET-REPLACE */ BeginTimeType beginTimeGet () raises (itut_x780::ApplicationError); void beginTimeSet (in BeginTimeType beginTime) raises (itut_x780::ApplicationError); /** "-- see 6.2.2 e) --" endTime GET-REPLACE */ EndTimeType endTimeGet () raises (itut_x780::ApplicationError); void endTimeSet (in EndTimeType endTime) raises (itut_x780::ApplicationError, itut_q816::InvalidParameter); /** The default EndTimeType is continual */ void endTimeSetDefault () raises (itut_x780::ApplicationError, itut_q816::InvalidParameter); /** "-- see 6.2.2 f) --" interval GET-REPLACE */ TimePeriodType intervalGet () raises (itut_x780::ApplicationError); void intervalSet (in TimePeriodType interval) raises (itut_x780::ApplicationError); /** Conditional Package managementOperationsScheduleOperationalStatePkg PRESENT IF "an instance supports it."; "-- see 6.2.2 g) --" operationalState GET */ OperationalStateType operationalStateGet () raises (itut_x780::ApplicationError, NOmanagementOperationsScheduleOperationalStatePkg); }; // interface ManagementOperationsSchedule /** "-- see 6.2.2 --";; */ /** 10.6.2 ManagementOperationsSchedule_F Interface */ /** Management Operations Schedule Facade managed object – see ITU-T Rec. X.780.1 Destination Address is not needed in a CORBA world. In the CORBA world, what channel is to be used is outside the scope of an object. Thus, a managed object cannot send a message from one channel or another */ interface ManagementOperationsSchedule_F : itut_x780::ManagedObject_F { /** "-- see 6.2.2 a) --" administrativeState GET-REPLACE */ AdministrativeStateType administrativeStateGet (in MONameType name) raises (itut_x780::ApplicationError); void administrativeStateSet (in MONameType name, in AdministrativeStateType administrativeState) raises (itut_x780::ApplicationError); /** "-- see 6.2.2 b) --" affectedObjectClass GET-REPLACE */ AffectedObjectClassType affectedObjectClassGet (in MONameType name) raises (itut_x780::ApplicationError); void affectedObjectClassSet (in MONameType name, in AffectedObjectClassType affectedObjectClass) raises (itut_x780::ApplicationError); /** "-- see 6.2.2 c) --" affectedObjectInstances GET-REPLACE */ AffectedObjectInstancesType affectedObjectInstancesGet (in MONameType name) raises (itut_x780::ApplicationError); void affectedObjectInstancesSet (in MONameType name, in AffectedObjectInstancesType affectedObjectInstances) raises (itut_x780::ApplicationError); /** "-- see 6.2.2 d) --" first activation at begin time, if present, or else when schedule is created beginTime GET-REPLACE */ BeginTimeType beginTimeGet (in MONameType name) raises (itut_x780::ApplicationError); void beginTimeSet (in MONameType name, in BeginTimeType beginTime) raises (itut_x780::ApplicationError); /** "-- see 6.2.2 e) --" endTime GET-REPLACE */ EndTimeType endTimeGet (in MONameType name) raises (itut_x780::ApplicationError); void endTimeSet (in MONameType name, in EndTimeType endTime) raises (itut_x780::ApplicationError, itut_q816::InvalidParameter); /** The default EndTimeType is continual */ void endTimeSetDefault (in MONameType name) raises (itut_x780::ApplicationError, itut_q816::InvalidParameter); /** "-- see 6.2.2 f) --" interval GET-REPLACE */ TimePeriodType intervalGet (in MONameType name) raises (itut_x780::ApplicationError); void intervalSet (in MONameType name, in TimePeriodType interval) raises (itut_x780::ApplicationError); /** Conditional Package managementOperationsScheduleOperationalStatePkg PRESENT IF "an instance supports it."; "-- see 6.2.2 g) --" operationalState GET */ OperationalStateType operationalStateGet (in MONameType name) raises (itut_x780::ApplicationError, NOmanagementOperationsScheduleOperationalStatePkg); }; // interface ManagementOperationsSchedule_F /** 10.6.3 ManagementOperationsScheduleFactory Interface */ /** Creation and Deletion for Management Operations Schedule */ interface ManagementOperationsScheduleFactory : itut_x780::ManagedObjectFactory { itut_x780::ManagedObject create (in NameBindingType nameBinding, in MONameType superior, in string reqID, // no auto-naming, cannot be null out MONameType name, in StringSetType packageNameList, in AdministrativeStateType administrativeState, // GET-REPLACE in AffectedObjectClassType affectedObjectClass, // GET-REPLACE in AffectedObjectInstancesType affectedObjectInstances, // GET-REPLACE in BeginTimeType beginTime, // GET-REPLACE in EndTimeType endTime, // GET-REPLACE in TimePeriodType interval, // GET-REPLACE in OperationalStateType operationalState) // conditional // managementOperationsScheduleOperationalStatePkg // GET raises (itut_x780::ApplicationError, itut_x780::CreateError); }; // interface ManagementOperationsScheduleFactory /** 10.7 Enhanced Current Alarm Summary Control */ /** Note that the Enhanced Current Alarm Summary Control managed object has no attributes, thus the naming attribute is no longer needed. */ valuetype EnhancedCurrentAlarmSummaryControlValueType : itut_x780::ManagedObjectValueType { }; // valuetype EnhancedCurrentAlarmSummaryControlValueType /** "-- see 7.2.2 on model –" */ /** 10.7.1 EnhancedCurrentAlarmSummaryControl Interface */ /** Enhanced Current Alarm Summary Control managed object */ interface EnhancedCurrentAlarmSummaryControl : itut_x780::ManagedObject { /** "-- see 7.2.5 on model --" */ /** The Alarm Synchronization method is used to return current alarms to the manager. @param alarmSynchronizationInfo What managed object alarms are we interested in? If this is Null, then assume All Managed Objects Relative To Superior @param howMany Maximum number of alarms for which results should be returned in first batch, 0 indicates all results returned via iterator @param resultsIterator A reference to an iterator containing the results. This could be NULL if no results are returned @param AlarmSynchronizationDataSeqType Sequence of current alarms, if howMany is non-zero */ AlarmSynchronizationDataSeqType alarmSynchronization (in AlarmSynchronizationInfoType alarmSynchronizationInfo, in unsigned short howMany, out AlarmSynchronizationDataIterator resultsIterator) raises (itut_x780::ApplicationError, InvalidObjectInstanceErrorParameter, SelectionCriteriaNotSupported, itut_q816::InvalidFilter, itut_q816::InvalidParameter, itut_q816::FilterComplexityLimit); /** The concept of Cancel Alarm Synchronization is no longer required. First, you cannot cancel an alarm synchronization call that is currently under progress. Secondly, the application can destroy an iterator once it has a return. This also removes the need for: noSuchInvokeIdErrorParameter and canceledAlarmSynchronizationParameter */ MANDATORY_NOTIFICATION ( itut_x780::Notifications, objectCreation) MANDATORY_NOTIFICATION ( itut_x780::Notifications, objectDeletion) }; // interface EnhancedCurrentAlarmSummaryControl /** "-- see 7.2.2 on model –" */ /** 10.7.2 EnhancedCurrentAlarmSummaryControl_F Interface */ /** Enhanced Current Alarm Summary Control Facade managed object – see ITU-T Rec. X.780.1 */ interface EnhancedCurrentAlarmSummaryControl_F : itut_x780::ManagedObject_F { /** "-- see 7.2.5 on model --" */ /** The Alarm Synchronization method is used to return current alarms to the manager. @param name Enhanced Current Alarm Summary managed object instance name @param alarmSynchronizationInfo What managed object alarms are we interested in? If this is Null, then assume All Managed Objects Relative To Superior @param howMany Maximum number of alarms for which results should be returned in first batch, 0 indicates all results returned via iterator @param resultsIterator A reference to an iterator containing the results. This could be NULL if no results are returned @param AlarmSynchronizationDataSeqType Sequence of current alarms, if howMany is non-zero */ AlarmSynchronizationDataSeqType alarmSynchronization (in MONameType name, in AlarmSynchronizationInfoType alarmSynchronizationInfo, in unsigned short howMany, out AlarmSynchronizationDataIterator resultsIterator) raises (itut_x780::ApplicationError, InvalidObjectInstanceErrorParameter, SelectionCriteriaNotSupported, itut_q816::InvalidFilter, itut_q816::InvalidParameter, itut_q816::FilterComplexityLimit); /** The concept of Cancel Alarm Synchronization is no longer required. First, you cannot cancel an alarm synchronization call that is currently under progress. Secondly, the application can destroy an iterator once it has a return. This also removes the need for: noSuchInvokeIdErrorParameter and canceledAlarmSynchronizationParameter */ MANDATORY_NOTIFICATION ( itut_x780::Notifications, objectCreation) MANDATORY_NOTIFICATION ( itut_x780::Notifications, objectDeletion) }; // interface EnhancedCurrentAlarmSummaryControl_F /** 10.7.3 AlarmSynchronizationDataIterator Interface */ /** The Alarm Synchronization Data Iterator allows the alarmSynchronization action to be returned in multiple calls. This is necessary since a very large number of alarms could be returned and this could be larger than the CORBA alarm returns allowed in one call. The agent system controls the life-cycle of the iterator. However, a destroy operation is provided to handle the case where the manager wants to stop the iteration procedure before reaching the last iteration. "-- see 7.2.5.1.3 on model --" */ interface AlarmSynchronizationDataIterator { /** This method is used to return the next howMany current alarms via Alarm Synchronization. This method returns between 1 and "howMany" current alarms. The agent may return less than "howMany" items even if there are more items to send. "howMany" must be non-zero. Return TRUE if there are more current alarms to return. Return FALSE if there are no more current alarms to be returned. Note that the agent may provide both the last current alarm in the list and also indicate FALSE for completion. If FALSE is returned, the agent will automatically destroy the iterator. @param howMany Maximum number of alarms for which results should be returned in this batch, must be non-zero @param AlarmSynchronizationDataSeqType Sequence of current alarms, see 7.2.5.1.2 on how to map alarms to fit the Structure Event structure */ boolean getNext (in unsigned short howMany, out AlarmSynchronizationDataSeqType currentAlarms) raises (itut_q816::InvalidParameter, itut_x780::ApplicationError); /** This method is used to destroy the iterator and release its resources. */ void destroy (); }; // interface AlarmSynchronizationDataIterator /** "-- see 7.2.4.2 on model --" */ /** 10.7.4 EnhancedCurrentAlarmSummaryControlFactory Interface */ /** Creation and Deletion for Enhanced Current Alarm Summary Control */ interface EnhancedCurrentAlarmSummaryControlFactory : itut_x780::ManagedObjectFactory { itut_x780::ManagedObject create (in NameBindingType nameBinding, in MONameType superior, in string reqID, // no auto-naming, cannot be null out MONameType name, in StringSetType packageNameList) raises (itut_x780::ApplicationError, itut_x780::CreateError); }; // interface EnhancedCurrentAlarmSummaryControl /** 10.8 Notifications */ /** "-- see II.2.6.1 --" @param alarmSummaryData Sequences of alarm summaries including Perceived Severity, Alarm Status and/or Probable Cause, depending on summary contents */ interface Notifications { void currentAlarmSummaryReport (in AlarmSummaryDataSeqType alarmSummaryData); }; /** Notification constants */ const string currentAlarmSummaryReportTypeName = "itut_q821d1::Notifications::currentAlarmSummaryReport"; const string alarmSummaryDataName = "alarmSummaryData"; /** 10.9 Name Binding */ module NameBinding { /** This name binding is used to name the Current Alarm Summary Control object to a Managed Element object. */ module CurrentAlarmSummaryControl_ManagedElement { const string superiorClass = "itut_m3120::ManagedElement"; const boolean superiorSubclassesAllowed = TRUE; const string subordinateClass = "itut_q821d1::CurrentAlarmSummaryControl"; const boolean subordinateSubclassesAllowed = TRUE; const boolean managerCreatesAllowed = TRUE; const DeletePolicyType deletePolicy = itut_x780::deleteContainedObjects; const string kind = "CurrentAlarmSummaryControl"; }; // module CurrentAlarmSummaryControl_ManagedElement /** This name binding is used to name the Management Operations Schedule object to a Managed Element object. */ module ManagementOperationsSchedule_ManagedElement { const string superiorClass = "itut_m3120::ManagedElement"; const boolean superiorSubclassesAllowed = TRUE; const string subordinateClass = "itut_q821d1::ManagementOperationsSchedule"; const boolean subordinateSubclassesAllowed = TRUE; const boolean managerCreatesAllowed = TRUE; const DeletePolicyType deletePolicy = itut_x780::deleteContainedObjects; const string kind = "ManagementOperationsSchedule"; }; // module ManagementOperationsSchedule_ManagedElement /** This name binding is used to name the Enhanced Current Alarm Summary Control object to a Managed Element object. This object is not created or deleted by system management protocol. */ module EnhancedCurrentAlarmSummaryControl_ManagedElement { const string superiorClass = "itut_m3120::ManagedElement"; const boolean superiorSubclassesAllowed = TRUE; const string subordinateClass = "itut_q821d1::EnhancedCurrentAlarmSummaryControl"; const boolean subordinateSubclassesAllowed = TRUE; const boolean managerCreatesAllowed = FALSE; const DeletePolicyType deletePolicy = itut_x780::notDeletable; const string kind = "EnhancedCurrentAlarmSummaryControl"; }; // module EnhancedCurrentAlarmSummaryControl_ManagedElement /** This name binding is used to name the Enhanced Current Alarm Summary Control object to a Managed Element Complex object. This object is not created or deleted by system management protocol. */ module EnhancedCurrentAlarmSummaryControl_ManagedElementComplex { const string superiorClass = "itut_m3120::ManagedElementComplex"; const boolean superiorSubclassesAllowed = TRUE; const string subordinateClass = "itut_q821d1::EnhancedCurrentAlarmSummaryControl"; const boolean subordinateSubclassesAllowed = TRUE; const boolean managerCreatesAllowed = FALSE; const DeletePolicyType deletePolicy = itut_x780::notDeletable; const string kind = "EnhancedCurrentAlarmSummaryControl"; }; // module EnhancedCurrentAlarmSummaryControl_ManagedElementComplex /** This name binding is used to name the Enhanced Current Alarm Summary Control object to a Network object. This object is not created or deleted by system management protocol. */ module EnhancedCurrentAlarmSummaryControl_Network { const string superiorClass = "itut_m3120::Network"; const boolean superiorSubclassesAllowed = TRUE; const string subordinateClass = "itut_q821d1::EnhancedCurrentAlarmSummaryControl"; const boolean subordinateSubclassesAllowed = TRUE; const boolean managerCreatesAllowed = FALSE; const DeletePolicyType deletePolicy = itut_x780::notDeletable; const string kind = "EnhancedCurrentAlarmSummaryControl"; }; // module EnhancedCurrentAlarmSummaryControl_Network }; // module NameBinding }; // module itut_q821d1 #endif //_itut_q821_1_idl_