• Classes
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

TMCDBCOMMON_IDL.idl

Go to the documentation of this file.
00001 #ifndef _TMCBD_COMMON_IDL__
00002 #define _TMCBD_COMMON_IDL__
00003 
00004 #include <acscommon.idl>
00005 
00006 #pragma prefix "alma"
00007 
00008 
00009 module TMCDB
00010 {
00011 
00012 typedef unsigned short DataValueType;
00013 
00014 const DataValueType doubleValueType=0; 
00015 const DataValueType doubleSeqValueType=1;
00016 
00017 const DataValueType floatValueType=2;
00018 const DataValueType floatSeqValueType=3;
00019 
00020 const DataValueType longValueType=4;
00021 const DataValueType longSeqValueType=5;
00022 
00023 const DataValueType longLongValueType=6;
00024 const DataValueType longLongSeqValueType=7;
00025 
00026 
00027 const DataValueType uLongLongValueType=8;
00028 const DataValueType uLongLongSeqValueType=9;
00029 
00030 const DataValueType stringValueType=10;
00031 const DataValueType stringSeqValueType=11;
00032 
00033 const DataValueType patternValueType=12;
00034 const DataValueType patternSeqValueType=13; // does not exist, just placeholder
00035 
00036 const DataValueType enumValueType=14;
00037 
00038 
00039 struct doubleBlobData
00040   {
00041       ACS::Time time;
00042       double value;
00043   };
00044   
00045   typedef  sequence<doubleBlobData> doubleBlobDataSeq;
00046     
00047     
00048   struct doubleSeqBlobData
00049   {
00050       ACS::Time time;
00051       ACS::doubleSeq value;
00052   };
00053   
00054   typedef  sequence<doubleSeqBlobData> doubleSeqBlobDataSeq;
00055     
00056  /**************************************************************************/
00057     
00058   struct floatBlobData
00059   {
00060       ACS::Time time;
00061       float value;
00062   };
00063 
00064 typedef  sequence<floatBlobData> floatBlobDataSeq;
00065 
00066   struct floatSeqBlobData
00067   {
00068       ACS::Time time;
00069       ACS::floatSeq value;
00070   };
00071 
00072 typedef  sequence<floatSeqBlobData> floatSeqBlobDataSeq;
00073 
00074 /**************************************************************************/
00075 
00076 struct longBlobData
00077   {
00078       ACS::Time time;
00079       long value;
00080   };
00081   
00082  typedef  sequence<longBlobData> longBlobDataSeq;
00083 
00084 
00085 struct longSeqBlobData
00086   {
00087       ACS::Time time;
00088       ACS::longSeq value;
00089   };
00090   
00091  typedef  sequence<longSeqBlobData> longSeqBlobDataSeq;
00092 
00093 
00094 /**************************************************************************/
00095 
00096 struct longLongBlobData
00097   {
00098       ACS::Time time;
00099       long long value;
00100   };
00101   
00102  typedef  sequence<longLongBlobData> longLongBlobDataSeq;
00103   
00104   
00105   struct longLongSeqBlobData
00106   {
00107       ACS::Time time;
00108       ACS::longLongSeq value;
00109   };
00110   
00111  typedef  sequence<longLongSeqBlobData> longLongSeqBlobDataSeq;
00112   
00113   /**************************************************************************/
00114   
00115   struct uLongLongBlobData
00116   {
00117       ACS::Time time;
00118       unsigned long long value;
00119   };
00120   
00121   typedef  sequence<uLongLongBlobData> uLongLongBlobDataSeq;
00122   
00123   
00124   struct uLongLongSeqBlobData
00125   {
00126       ACS::Time time;
00127       ACS::uLongLongSeq value;
00128   };
00129   
00130   typedef  sequence<uLongLongSeqBlobData> uLongLongSeqBlobDataSeq;
00131   
00132   /**************************************************************************/
00133   
00134   struct patternBlobData
00135   {
00136       ACS::Time time;
00137       ACS::pattern value;
00138   };
00139   
00140   typedef  sequence<patternBlobData> patternBlobDataSeq;
00141   
00142   /**************************************************************************/
00143   
00144 struct stringBlobData
00145   {
00146       ACS::Time time;
00147       string value;
00148   };
00149 
00150 typedef  sequence<stringBlobData> stringBlobDataSeq;
00151 
00152 
00153 struct stringSeqBlobData
00154   {
00155       ACS::Time time;
00156       ACS::stringSeq value;
00157   };
00158 
00159 typedef  sequence<stringSeqBlobData> stringSeqBlobDataSeq;
00160 
00161 /**************************************************************************/
00162   
00163   struct enumBlobData
00164   {
00165       ACS::Time time;
00166       unsigned long value;  //enums are sent as unsigned long (short ?)
00167   };
00168   
00169   typedef  sequence<enumBlobData> enumBlobDataSeq;
00170   
00171  /**************************************************************************/
00172   
00173   struct anyBlobData
00174   {
00175       ACS::Time time;
00176       any value;
00177   };
00178 
00179 typedef  sequence<anyBlobData> anyBlobDataSeq;
00180 
00181 
00182 typedef string serialNumberType;
00183 
00184 typedef sequence<serialNumberType> serialNumberTypeSeq;
00185 
00186   struct MonitorBlob
00187   {
00188 
00189       boolean archiveOnChange;
00190       DataValueType typeOfValue; // can be found in any as well
00191       serialNumberTypeSeq propertySerialNumber; // sequence that we can handle also sequnces
00192       string propertyName; // full qualified property name (=component name included)
00193       any blobDataSeq;    
00194   };
00195 
00196  struct MonitorDataBlock
00197  {
00198      ACS::Time startTime;
00199      ACS::Time stopTime;
00200      string componentName;
00201      serialNumberType deviceSerialNumber;
00202      sequence<MonitorBlob> monitorBlobs; 
00203  }; 
00204 
00205  typedef  sequence<MonitorDataBlock> MonitorDataBlocks;
00206  
00207 
00208 };//module  TMCDB
00209 
00210 #endif

Generated on Thu Jan 12 2012 23:13:14 for ACS-10.0 IDL interfaces by  doxygen 1.7.0