Go to the documentation of this file.00001
00002
00003 #ifndef TAO_MONITOR_MONITOR_TYPES_PIDL
00004 #define TAO_MONITOR_MONITOR_TYPES_PIDL
00005
00006 #include "tao/TimeBase.pidl"
00007 #include "tao/StringSeq.pidl"
00008
00009 module Monitor
00010 {
00011 struct DataValue
00012 {
00013
00014 TimeBase::TimeT timestamp;
00015 double value;
00016 };
00017
00018 typedef string Name;
00019 typedef string NameFilter;
00020 typedef CORBA::StringSeq NameList;
00021 typedef sequence<DataValue> DataValueList;
00022 struct Numeric
00023 {
00024 DataValueList dlist;
00025 unsigned long count;
00026 double average;
00027 double sum_of_squares;
00028 double minimum;
00029 double maximum;
00030 double last;
00031 };
00032 enum DataType { DATA_NUMERIC, DATA_TEXT };
00033 union UData switch (DataType) {
00034 case DATA_NUMERIC: Numeric num;
00035 case DATA_TEXT: NameList list;
00036 };
00037 struct Data
00038 {
00039 Name itemname;
00040 UData data_union;
00041 };
00042 typedef sequence<Data> DataList;
00043 typedef long ConstraintId;
00044 typedef sequence<ConstraintId> ConstraintIdList;
00045 typedef string Constraint;
00046 struct ConstraintStruct
00047 {
00048 Name itemname;
00049 ConstraintId id;
00050 };
00051 typedef sequence<ConstraintStruct> ConstraintStructList;
00052 };
00053
00054 #endif