00001 00002 #include "BfldDbiCoilState.h" 00003 #include "MessageService/MsgService.h" 00004 #include "DatabaseInterface/DbiOutRowStream.h" 00005 #include "DatabaseInterface/DbiResultSet.h" 00006 #include "DatabaseInterface/DbiValidityRec.h" 00007 00008 ClassImp(BfldDbiCoilState) 00009 00010 // Definition of static data members 00011 // ********************************* 00012 00013 CVSID("$Id: BfldDbiCoilState.cxx,v 1.1 2006/04/12 19:55:41 habig Exp $"); 00014 00015 // Instantiate associated Result Pointer class. 00016 // ******************************************* 00017 00018 #include "DatabaseInterface/DbiResultPtr.tpl" 00019 template class DbiResultPtr<BfldDbiCoilState>; 00020 00021 #include "DatabaseInterface/DbiWriter.tpl" 00022 template class DbiWriter<BfldDbiCoilState>; 00023 00024 // Definition of member functions (alphabetical order) 00025 // *************************************************** 00026 00027 00028 //..................................................................... 00029 00030 void BfldDbiCoilState::Fill(DbiResultSet& rs, 00031 const DbiValidityRec* /* vrec */) { 00032 // 00033 // 00034 // Purpose: Fill object from Result Set 00035 // 00036 // Arguments: 00037 // rs in Result Set used to fill object 00038 // vrec in Associated validity record (or 0 if filling 00039 // DbiValidityRec) 00040 // 00041 // o Fill object from current row of Result Set. 00042 // This method demonstrates both the "dumb" fill method (just 00043 // load the data as it comes) and the smart method (check column 00044 // name and load according to column order). 00045 00046 // if ( rs.TableName() != "BFLDDBICOILSTATE" 00047 // && rs.TableName() != "BfldDbiCoilState" ) { 00048 00049 // Dumb method. 00050 rs >> fCurrent >> iStatus >> iSupermod; 00051 00052 /* } 00053 00054 // Smart method 00055 else { 00056 Int_t numCol = rs.NumCols(); 00057 // The first column (SeqNo) has already been processed. 00058 for (Int_t curCol = rs.HasRowCounter() ? 3 : 2; curCol <= numCol; ++curCol) { 00059 string colName = rs.CurColName(); 00060 if ( colName == "COIL_CURRENT" ) rs >> fCurrent; 00061 else if ( colName == "COIL_STATUS" ) rs >> iStatus; 00062 else if ( colName == "COIL_SUPERMODULE" ) rs >> iSupermod; 00063 else { 00064 MSG("Dbi",Msg::kDebug) << "Ignoring column " << curCol 00065 << "(" << colName << ")" 00066 << "; not part of BfldDbiCoilState" << endl; 00067 rs.IncrementCurCol(); 00068 } 00069 } 00070 00071 } 00072 */ 00073 } 00074 //..................................................................... 00075 00076 void BfldDbiCoilState::Store(DbiOutRowStream& ors, 00077 const DbiValidityRec* /* vrec */) const { 00078 // Purpose: Stream object to output row stream 00079 // 00080 // Arguments: 00081 // ors in Output row stream. 00082 // vrec in Associated validity record (or 0 if filling 00083 // DbiValidityRec) 00084 // o Stream object to output row stream. 00085 00086 ors << fCurrent << iStatus << iSupermod; 00087 }
1.3.9.1