-- IDL module extracted from ITU-T X.780 (01/2001)

#ifndef _itut_x780ct_idl_ #define _itut_x780ct_idl_ #include <itut_x780.idl> #include <itut_x780_1.idl> #pragma prefix "itu.int" /** This IDL code is intended to be stored in a file named "itut_x780ct.idl" located in the search path used by IDL compilers on your system. */ /** This module, itut_x780ct, contains common data type for ITU-T CORBA framework based information model. This module can be extended by adding new data type. */ module itut_x780ct { // Imports /** Types imported from itut_x780 */ typedef itut_x780::GeneralizedTimeType GeneralizedTimeType; typedef itut_x780::PerceivedSeverityType PerceivedSeverityType; // Data Types (X.721) struct CounterThresholdType { long comparisonLevel; long offsetValue; boolean notificationOnOff; }; struct NotifyThresholdType { float threshold; boolean notifyOnOff; }; struct GaugeThresholdType { NotifyThresholdType notifyLow; NotifyThresholdType notifyHigh; }; typedef sequence<GaugeThresholdType> GaugeThresholdSetType; enum TideMarkChoice { tideMarkChoiceMax, tideMarkChoiceMin }; union TideMarkType switch (TideMarkChoice) { case tideMarkChoiceMax: float maxTideMark; case tideMarkChoiceMin: float minTideMark; }; struct TideMarkInfoType { TideMarkType currentTideMark; TideMarkType previousTideMark; GeneralizedTimeType resetTime; }; // Data Types (X.739) /** PerceivedSeverityTypeOpt is an optional type. If the discriminator is true the value is present, otherwise the value is null. */ union PerceivedSeverityTypeOpt switch (boolean) { case TRUE: PerceivedSeverityType val; }; /** The SeverityIndicatingThresholdType contains the threshold level, which is to be applied to counter/gauge attribute. It shall be initialized when the managed object in which it is included is created and may be modified. An optional parameter is used to associate the threshold level to the severity parameter of the emitted notification. The generation of the notification can be switched off using the boolean parameter notifyOnOff. The severity parameter is mandatory if notifyOnOff is true. If a notify-high or notify-low switch is on (true) and the severity indication value is not present, then the indeterminate value is sent in the notification unless the managed object behaviour specifies another value. */ struct SeverityIndicatingThresholdType { float threshold; boolean notifyOnOff; PerceivedSeverityTypeOpt severityIndication; }; /** The attribute of SeverityIndicatingGaugeThresholdType has similar behaviour to the gauge-threshold attribute defined in X.721. The syntax has an added parameter for indicating the associated severity, as defined in SeverityIndicatingThresholdType, to the notification triggered by the crossing of the corresponding threshold level. As an enhancement to the syntax of the gauge-threshold attribute type it adds an optional severity indication parameter to the syntax of both the notify-high and notify-low sub-members within each threshold level member. This attribute type has additional behaviour associated with these optional perceived severity indication parameters, which is defined as follows: - If the notify-high's switch is on (true), the notify-high's severity indication value shall be reported in the perceived severity parameter of a notification triggered by the gauge value crossing the notify-high's gauge-threshold value in the positive going direction. - If the notify-low's switch is on (true), the notify-low's severity indication value shall be reported in the perceived severity parameter of a notification triggered by the gauge value crossing the notify-low's gauge-threshold value in the negative going direction. - If both switches are on (true) for a single threshold level, one of the severity indication values shall be "clear". The severity indicating gauge-threshold shall only emit a clear event notification if the corresponding threshold level (either notify-high or notify-low) notification has been emitted and no other clear notification for this threshold level pair has been emitted since the previous corresponding threshold level notification has been emitted. */ struct SeverityIndicatingGaugeThresholdType { SeverityIndicatingThresholdType notifyLow; SeverityIndicatingThresholdType notifyHigh; }; /** The order is insignificant. */ typedef sequence<SeverityIndicatingGaugeThresholdType> SeverityIndicatingGaugeThresholdSetType; struct TimeIntervalType { unsigned short day; unsigned short hour; unsigned short minute; unsigned short second; unsigned short ms; }; /** The following definitions are translated from X.739 ASN.1 definitions. */ enum TimePeriodChoice { timePeriodChoiceDays, timePeriodChoiceHours, timePeriodChoiceMinutes, timePeriodChoiceSeconds, timePeriodChoiceMilliSeconds, timePeriodChoiceMicroSeconds, timePeriodChoiceNanoSeconds, timePeriodChoicePicoSeconds }; union TimePeriodType switch (TimePeriodChoice) { case timePeriodChoiceDays: long day; case timePeriodChoiceHours: long hour; case timePeriodChoiceMinutes: long minute; case timePeriodChoiceSeconds: long second; case timePeriodChoiceMilliSeconds: long ms; case timePeriodChoiceMicroSeconds: long us; case timePeriodChoiceNanoSeconds: long ns; case timePeriodChoicePicoSeconds: long ps; }; }; // module itut_x780ct #endif // _itut_x780ct_idl_