#ifndef _TMCBD_COMMON_IDL__ #define _TMCBD_COMMON_IDL__ #include #pragma prefix "alma" module TMCDB { typedef unsigned short DataValueType; const DataValueType doubleValueType=0; const DataValueType doubleSeqValueType=1; const DataValueType floatValueType=2; const DataValueType floatSeqValueType=3; const DataValueType longValueType=4; const DataValueType longSeqValueType=5; const DataValueType longLongValueType=6; const DataValueType longLongSeqValueType=7; const DataValueType uLongLongValueType=8; const DataValueType uLongLongSeqValueType=9; const DataValueType stringValueType=10; const DataValueType stringSeqValueType=11; const DataValueType patternValueType=12; const DataValueType patternSeqValueType=13; // does not exist, just placeholder const DataValueType enumValueType=14; const DataValueType uLongValueType=15; const DataValueType uLongSeqValueType=16; const DataValueType booleanValueType=17; const DataValueType booleanSeqValueType=18; struct doubleBlobData { ACS::Time time; double value; }; typedef sequence doubleBlobDataSeq; struct doubleSeqBlobData { ACS::Time time; ACS::doubleSeq value; }; typedef sequence doubleSeqBlobDataSeq; /**************************************************************************/ struct floatBlobData { ACS::Time time; float value; }; typedef sequence floatBlobDataSeq; struct floatSeqBlobData { ACS::Time time; ACS::floatSeq value; }; typedef sequence floatSeqBlobDataSeq; /**************************************************************************/ struct longBlobData { ACS::Time time; long value; }; typedef sequence longBlobDataSeq; struct longSeqBlobData { ACS::Time time; ACS::longSeq value; }; typedef sequence longSeqBlobDataSeq; /**************************************************************************/ struct uLongBlobData { ACS::Time time; unsigned long value; }; typedef sequence uLongBlobDataSeq; struct uLongSeqBlobData { ACS::Time time; ACS::uLongSeq value; }; typedef sequence uLongSeqBlobDataSeq; /**************************************************************************/ struct longLongBlobData { ACS::Time time; long long value; }; typedef sequence longLongBlobDataSeq; struct longLongSeqBlobData { ACS::Time time; ACS::longLongSeq value; }; typedef sequence longLongSeqBlobDataSeq; /**************************************************************************/ struct uLongLongBlobData { ACS::Time time; unsigned long long value; }; typedef sequence uLongLongBlobDataSeq; struct uLongLongSeqBlobData { ACS::Time time; ACS::uLongLongSeq value; }; typedef sequence uLongLongSeqBlobDataSeq; /**************************************************************************/ struct booleanBlobData { ACS::Time time; boolean value; }; typedef sequence booleanBlobDataSeq; struct booleanSeqBlobData { ACS::Time time; ACS::booleanSeq value; }; typedef sequence booleanSeqBlobDataSeq; /**************************************************************************/ struct patternBlobData { ACS::Time time; ACS::pattern value; }; typedef sequence patternBlobDataSeq; /**************************************************************************/ struct stringBlobData { ACS::Time time; string value; }; typedef sequence stringBlobDataSeq; struct stringSeqBlobData { ACS::Time time; ACS::stringSeq value; }; typedef sequence stringSeqBlobDataSeq; /**************************************************************************/ struct enumBlobData { ACS::Time time; unsigned long value; //enums are sent as unsigned long (short ?) }; typedef sequence enumBlobDataSeq; /**************************************************************************/ typedef string serialNumberType; typedef sequence serialNumberTypeSeq; struct MonitorBlob { boolean archiveOnChange; DataValueType typeOfValue; // can be found in any as well serialNumberTypeSeq propertySerialNumber; // sequence that we can handle also sequnces string propertyName; // full qualified property name (=component name included) any blobDataSeq; /// here we put a seqence od data xyzBlobData }; typedef sequence MonitorBlobSeq; struct MonitorDataBlock { ACS::Time startTime; ACS::Time stopTime; string componentName; serialNumberType deviceSerialNumber; MonitorBlobSeq monitorBlobs; ///monitored properties }; typedef sequence MonitorDataBlocks; };//module TMCDB #endif