Gaudi Framework, version v23r5

Home   Generated: Wed Nov 28 2012
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IODataManager.h
Go to the documentation of this file.
1 #ifndef GAUDIUTILS_IODATAMANAGER_H
2 #define GAUDIUTILS_IODATAMANAGER_H
3 
4 // C++ include files
5 #include <map>
6 // Framework include files
7 #include "GaudiKernel/Service.h"
9 
10 class IIncidentSvc;
11 
12 /*
13  * LHCb namespace declaration
14  */
15 namespace Gaudi {
16 
17  // Forward declarations
18  class IFileCatalog;
19  class RawDataConnectionEntry;
20 
29  class IODataManager : public extends1<Service, IIODataManager> {
30  protected:
31  typedef const std::string& CSTR;
32  struct Entry {
34  IoType ioType;
36  bool keepOpen;
37  Entry(CSTR tech,bool k, IoType iot,IDataConnection* con)
38  : type(tech), ioType(iot), connection(con), keepOpen(k) {
39  }
40  };
43 
49  bool m_useGFAL;
52 
59  StatusCode connectDataIO(int typ, IoType rw, CSTR fn, CSTR technology, bool keep,Connection* con);
61  StatusCode error(CSTR msg, bool rethrow);
62  StatusCode establishConnection(Connection* con);
63 
65 
66  public:
67 
73  IODataManager(CSTR nam, ISvcLocator* loc);
74 
76  virtual ~IODataManager() {}
77 
79  virtual StatusCode initialize();
80 
82  virtual StatusCode finalize();
83 
85  virtual StatusCode connectRead(bool keep_open, Connection* ioDesc);
87  virtual StatusCode connectWrite(Connection* con,IoType mode=Connection::CREATE,CSTR doctype="UNKNOWN");
89  virtual StatusCode disconnect(Connection* ioDesc);
91  virtual Connection* connection(const std::string& dsn) const;
93  virtual Connections connections(const IInterface* owner) const;
95  virtual StatusCode read(Connection* ioDesc, void* const data, size_t len);
97  virtual StatusCode write(Connection* con, const void* data, int len);
99  virtual long long int seek(Connection* ioDesc, long long int where, int origin);
100  };
101 } // End namespace Gaudi
102 #endif // GAUDIUTILS_IODATAMANAGER_H

Generated at Wed Nov 28 2012 12:17:18 for Gaudi Framework, version v23r5 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004