• 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 const DataValueType uLongValueType=15;
00039 const DataValueType uLongSeqValueType=16;
00040 
00041 const DataValueType booleanValueType=17;
00042 const DataValueType booleanSeqValueType=18;
00043 
00044 struct doubleBlobData
00045   {
00046       ACS::Time time;
00047       double value;
00048   };
00049   
00050   typedef  sequence<doubleBlobData> doubleBlobDataSeq;
00051     
00052     
00053   struct doubleSeqBlobData
00054   {
00055       ACS::Time time;
00056       ACS::doubleSeq value;
00057   };
00058   
00059   typedef  sequence<doubleSeqBlobData> doubleSeqBlobDataSeq;
00060     
00061  /**************************************************************************/
00062     
00063   struct floatBlobData
00064   {
00065       ACS::Time time;
00066       float value;
00067   };
00068 
00069 typedef  sequence<floatBlobData> floatBlobDataSeq;
00070 
00071   struct floatSeqBlobData
00072   {
00073       ACS::Time time;
00074       ACS::floatSeq value;
00075   };
00076 
00077 typedef  sequence<floatSeqBlobData> floatSeqBlobDataSeq;
00078 
00079 /**************************************************************************/
00080 
00081 struct longBlobData
00082   {
00083       ACS::Time time;
00084       long value;
00085   };
00086   
00087  typedef  sequence<longBlobData> longBlobDataSeq;
00088 
00089 
00090 struct longSeqBlobData
00091   {
00092       ACS::Time time;
00093       ACS::longSeq value;
00094   };
00095   
00096  typedef  sequence<longSeqBlobData> longSeqBlobDataSeq;
00097 
00098 
00099   /**************************************************************************/
00100   
00101   struct uLongBlobData
00102   {
00103       ACS::Time time;
00104       unsigned long value;
00105   };
00106   
00107   typedef  sequence<uLongBlobData> uLongBlobDataSeq;
00108   
00109   
00110   struct uLongSeqBlobData
00111   {
00112       ACS::Time time;
00113       ACS::uLongSeq value;
00114   };
00115   
00116   typedef  sequence<uLongSeqBlobData> uLongSeqBlobDataSeq;
00117   
00118 /**************************************************************************/
00119 
00120 struct longLongBlobData
00121   {
00122       ACS::Time time;
00123       long long value;
00124   };
00125   
00126  typedef  sequence<longLongBlobData> longLongBlobDataSeq;
00127   
00128   
00129   struct longLongSeqBlobData
00130   {
00131       ACS::Time time;
00132       ACS::longLongSeq value;
00133   };
00134   
00135  typedef  sequence<longLongSeqBlobData> longLongSeqBlobDataSeq;
00136   
00137   /**************************************************************************/
00138   
00139   struct uLongLongBlobData
00140   {
00141       ACS::Time time;
00142       unsigned long long value;
00143   };
00144   
00145   typedef  sequence<uLongLongBlobData> uLongLongBlobDataSeq;
00146   
00147   
00148   struct uLongLongSeqBlobData
00149   {
00150       ACS::Time time;
00151       ACS::uLongLongSeq value;
00152   };
00153   
00154   typedef  sequence<uLongLongSeqBlobData> uLongLongSeqBlobDataSeq;
00155   
00156   /**************************************************************************/
00157   
00158   struct booleanBlobData
00159   {
00160       ACS::Time time;
00161       boolean value;
00162   };
00163   
00164   typedef  sequence<booleanBlobData> booleanBlobDataSeq;
00165   
00166   
00167   struct booleanSeqBlobData
00168   {
00169       ACS::Time time;
00170       ACS::booleanSeq value;
00171   };
00172   
00173   typedef  sequence<booleanSeqBlobData> booleanSeqBlobDataSeq;
00174   
00175   /**************************************************************************/
00176   struct patternBlobData
00177   {
00178       ACS::Time time;
00179       ACS::pattern value;
00180   };
00181   
00182   typedef  sequence<patternBlobData> patternBlobDataSeq;
00183   
00184   /**************************************************************************/
00185   
00186 struct stringBlobData
00187   {
00188       ACS::Time time;
00189       string value;
00190   };
00191 
00192 typedef  sequence<stringBlobData> stringBlobDataSeq;
00193 
00194 
00195 struct stringSeqBlobData
00196   {
00197       ACS::Time time;
00198       ACS::stringSeq value;
00199   };
00200 
00201 typedef  sequence<stringSeqBlobData> stringSeqBlobDataSeq;
00202 
00203 /**************************************************************************/
00204   
00205   struct enumBlobData
00206   {
00207       ACS::Time time;
00208       unsigned long value;  //enums are sent as unsigned long (short ?)
00209   };
00210   
00211   typedef  sequence<enumBlobData> enumBlobDataSeq;
00212   
00213  /**************************************************************************/
00214   
00215 
00216 typedef string serialNumberType;
00217 
00218 typedef sequence<serialNumberType> serialNumberTypeSeq;
00219 
00220   struct MonitorBlob
00221   {
00222 
00223       boolean archiveOnChange;
00224       DataValueType typeOfValue; // can be found in any as well
00225       serialNumberTypeSeq propertySerialNumber; // sequence that we can handle also sequnces
00226       string propertyName; // full qualified property name (=component name included)
00227       any blobDataSeq;    
00228   };
00229 
00230 typedef sequence<MonitorBlob> MonitorBlobSeq; 
00231 
00232 struct MonitorDataBlock
00233  {
00234      ACS::Time startTime;
00235      ACS::Time stopTime;
00236      string componentName;
00237      serialNumberType deviceSerialNumber;
00238      MonitorBlobSeq monitorBlobs; 
00239  }; 
00240 
00241  typedef  sequence<MonitorDataBlock> MonitorDataBlocks;
00242  
00243 
00244 };//module  TMCDB
00245 
00246 #endif

Generated on Fri Apr 15 2016 15:13:14 for ACS-2016.4 IDL interfaces by  doxygen 1.7.0