CMS 3D CMS Logo

TokenBuilder.cc

Go to the documentation of this file.
00001 #include "CondCore/DBCommon/interface/TokenBuilder.h"
00002 #include "POOLCore/Token.h"
00003 #include "StorageSvc/DbType.h"
00004 #include "StorageSvc/DbReflex.h"
00005 #include "SealBase/SharedLibrary.h"
00006 //#include "SealKernel/Exception.h"
00007 //#include <iostream>
00008 namespace cond{
00009   TokenBuilder::TokenBuilder(): m_token(new pool::Token){
00010     m_token->setTechnology(pool::POOL_RDBMS_HOMOGENEOUS_StorageType.type());
00011   }
00012   TokenBuilder::~TokenBuilder(){
00013     delete m_token;
00014   }
00015   void TokenBuilder::set(const std::string& fid,
00016                          const std::string& dictLib,
00017                          const std::string& className,
00018                          const std::string& containerName,
00019                          int pkcolumnValue){
00020     seal::SharedLibrary::load( "lib" + dictLib + ".so" );
00021     ROOT::Reflex::Type myclass=ROOT::Reflex::Type::ByName(className);
00022     m_token->setDb(fid);
00023     m_token->setClassID(pool::DbReflex::guid(myclass));
00024     m_token->setCont(containerName);
00025     m_token->oid().first=0;
00026     m_token->oid().second=pkcolumnValue;
00027   }
00028   void TokenBuilder::resetOID( int pkcolumnValue ){
00029     m_token->oid().first=0;
00030     m_token->oid().second=pkcolumnValue;
00031   }
00032   std::string TokenBuilder::tokenAsString() const{
00033     return m_token->toString();
00034   }
00035 }//ns cond

Generated on Tue Jun 9 17:26:06 2009 for CMSSW by  doxygen 1.5.4