test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PayloadReader.h
Go to the documentation of this file.
1 #ifndef CondCore_CondDB_PayloadReader_h
2 #define CondCore_CondDB_PyloadReader_h
3 //
4 // Package: CondDB
5 // Class : PayloadReader
6 //
10 //
11 // Author: Giacomo Govi
12 // Created: Jul 2015
13 //
14 
16 
17 #include <memory>
18 
19 namespace cond {
20 
21  namespace persistency {
22 
23  class PayloadReader {
24  public:
25 
26  //static constexpr const char* const PRODUCTION_DB = "oracle://cms_orcon_adg/CMS_CONDITIONS";
27  static constexpr const char* const PRODUCTION_DB = "oracle://cms_orcoff_prep/CMS_CONDITIONS_002";
28 
29  public:
30 
31  // default constructor
32  PayloadReader();
33 
34  //
35  PayloadReader( const PayloadReader& rhs );
36 
37  //
38  virtual ~PayloadReader();
39 
40  //
41  PayloadReader& operator=( const PayloadReader& rhs );
42 
43  //
45 
46  //
47  void open( const std::string& connectionString );
48 
49  //
50  void open();
51 
52  //
53  void close();
54 
55  //
56  template <typename T> boost::shared_ptr<T> fetch( const cond::Hash& payloadHash );
57 
58  private:
59 
60  std::shared_ptr<ConnectionPool> m_connection;
62  };
63 
64  template <typename T> inline boost::shared_ptr<T> PayloadReader::fetch( const cond::Hash& payloadHash ){
65  boost::shared_ptr<T> ret;
67  m_session.transaction().start( true );
68  ret = m_session.fetchPayload<T>( payloadHash );
70  return ret;
71  }
72 
73  }
74 }
75 #endif
boost::shared_ptr< T > fetchPayload(const cond::Hash &payloadHash)
Definition: Session.h:215
void start(bool readOnly=true)
Definition: Session.cc:22
boost::shared_ptr< T > fetch(const cond::Hash &payloadHash)
Definition: PayloadReader.h:64
Transaction & transaction()
Definition: Session.cc:66
#define constexpr
std::string Hash
Definition: Types.h:47
std::string connectionString()
Definition: Session.cc:268
string connectionString
Definition: autoCondHLT.py:4
static const char *const PRODUCTION_DB
Definition: PayloadReader.h:27
long double T
std::shared_ptr< ConnectionPool > m_connection
Definition: PayloadReader.h:60
PayloadReader & operator=(const PayloadReader &rhs)