00001 #ifndef DSLOGNOTIFICATION_IDL 00002 #define DSLOGNOTIFICATION_IDL 00003 00004 #include <DsLogAdmin.idl> 00005 00016 #pragma prefix "omg.org" 00017 00018 module DsLogNotification 00019 { 00020 typedef DsLogAdmin::Log Log; 00021 00022 typedef DsLogAdmin::LogId LogId; 00023 00024 typedef DsLogAdmin::Threshold Threshold; 00025 00026 typedef TimeBase::TimeT TimeT; 00027 00028 // definition of ThresholdAlarm, the event generated by Log when 00029 // Log reaches its capacity alarm threshold 00030 typedef unsigned short PerceivedSeverityType; 00031 00032 const PerceivedSeverityType critical = 0; 00033 00034 const PerceivedSeverityType minor = 1; 00035 00036 const PerceivedSeverityType cleared = 2; 00037 00055 struct ThresholdAlarm 00056 { 00057 Log logref; 00058 LogId id; 00059 TimeT time; 00060 Threshold crossed_value; // the threshold level just being crossed 00061 Threshold observed_value; // the current percentage 00062 PerceivedSeverityType perceived_severity; 00063 }; 00064 00065 // the events generated by 00066 // Log when a Log object is created or deleted 00077 struct ObjectCreation 00078 { 00079 LogId id; 00080 TimeT time; 00081 }; 00082 00083 // NOTE: cannot say typedef ObjectCreation ObjectDeletion because 00084 // type would be lost in current C++ mapping for Anys. 00094 struct ObjectDeletion 00095 { 00096 LogId id; 00097 TimeT time; 00098 }; 00099 00100 // definition of AttributeValueChange notification, the event generated by 00101 // Log when a Log's attribute has changed 00102 typedef unsigned short AttributeType; 00103 00104 const AttributeType capacityAlarmThreshold = 0; 00105 00106 const AttributeType logFullAction = 1; 00107 00108 const AttributeType maxLogSize = 2; 00109 00110 const AttributeType startTime = 3; 00111 00112 const AttributeType stopTime = 4; 00113 00114 const AttributeType weekMask = 5; 00115 00116 const AttributeType filter = 6; 00117 00118 const AttributeType maxRecordLife = 7; 00119 00120 const AttributeType qualityOfService = 8; 00121 00150 struct AttributeValueChange 00151 { 00152 Log logref; 00153 LogId id; 00154 TimeT time; 00155 AttributeType type; 00156 any old_value; 00157 any new_value; 00158 }; 00159 00160 // definition of StateChange notification, the event generated by 00161 // Log when a Log's state has changed 00162 typedef unsigned short StateType; 00163 00164 const StateType administrativeState = 0; 00165 00166 const StateType operationalState = 1; 00167 00168 const StateType forwardingState = 2; 00169 00189 struct StateChange 00190 { 00191 Log logref; 00192 LogId id; 00193 TimeT time; 00194 StateType type; 00195 any new_value; 00196 }; 00197 00198 // Event generated by a log when a problem occurs within the log. 00199 // The highest 20 bits of error_num are reserved for vendor 00200 // specific Ids. 00214 struct ProcessingErrorAlarm 00215 { 00216 long error_num; 00217 string error_string; 00218 }; 00219 }; 00220 00221 #endif /* DSLOGNOTIFICATION_IDL */