summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/DsLogNotification.idl
blob: ff06d490c5327efea6dbe7ea90f5c25108f02be3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// $Id$

// ============================================================================
//
// = FILENAME
//    DsLogNotification.idl
//
// = DESCRIPTION
//    This module defines the Log Generated Events module
//    for the OMG's Telecom Event Log Service
//
// ============================================================================

#ifndef DS_LOG_NOTIFICATION_IDL
#define DS_LOG_NOTIFICATION_IDL

#include "DsLogAdmin.idl"
// CORBA Log Service

#pragma prefix "omg.org"

module DsLogNotification
{

  typedef DsLogAdmin::Log		Log;
  typedef DsLogAdmin::LogId		LogId;
  typedef DsLogAdmin::Threshold	Threshold;
  typedef TimeBase::TimeT		TimeT;

  // definition of ThresholdAlarm, the event generated by Log when
  // Log reaches its capacity alarm threshold

  typedef unsigned short PerceivedSeverityType;

  const PerceivedSeverityType critical = 0;
  const PerceivedSeverityType minor = 1;
  const PerceivedSeverityType cleared = 2;

  struct ThresholdAlarm {
	Log			logref;
	LogId		id;
	TimeT		time;
	Threshold	crossed_value; // the threshold level just being crossed
	Threshold	observed_value; // the current percentage
	PerceivedSeverityType	perceived_severity;
  };

  // the events generated by
  // Log when a Log object is created or deleted

  struct ObjectCreation {
	LogId		id;
	TimeT		time;
  };

  // NOTE: cannot say "typedef ObjectCreation ObjectDeletion because
  // type would be lost in current C++ mappings for Anys.

  struct ObjectDeletion {
	LogId		id;
	TimeT		time;
  };

  // definition of AttributeValueChange notification, the event generated by
  // Log when a Log's attribute has changed

  typedef unsigned short AttributeType;
  const AttributeType capacityAlarmThreshold	= 0;
  const AttributeType logFullAction				= 1;
  const AttributeType maxLogSize				= 2;
  const AttributeType startTime					= 3;
  const AttributeType stopTime					= 4;
  const AttributeType weekMask					= 5;
  const AttributeType filter					= 6;
  const AttributeType maxRecordLife				= 7;
  const AttributeType qualityOfService			= 8;

  struct AttributeValueChange {
	Log		logref;
	LogId	id;
	TimeT	time;
		AttributeType type;
		any old_value;
		any new_value;
  };

  // definition of StateChange notification, the event generated by
  // Log when a Log's state has changed

  typedef unsigned short StateType;
  const StateType administrativeState	= 0;
  const	StateType operationalState		= 1;
  const StateType forwardingState		= 2;

  struct StateChange {
	Log		logref;
	LogId	id;
	TimeT	time;
	StateType type;
	any new_value;
  };

  struct ProcessingErrorAlarm {
	// Event generated by a log when a problem occurs within the log.
	// The highest 20 bits or error_num are reserved for vender
	// specific Ids.
	long error_num;
	string error_string;
  };
};

#endif /* DS_LOG_NOTIFICATION_IDL */