DataHandle.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_DATAHANDLE
2 #define GAUDIKERNEL_DATAHANDLE 1
3 
5 
6 //---------------------------------------------------------------------------
7 
21 //---------------------------------------------------------------------------
22 
23 class IDataHandleHolder;
24 
25 namespace Gaudi {
26 
27 class DataHandle {
28 public:
29 
30  enum Mode {
31  Reader = 1<<2,
32  Writer = 1<<4,
34  };
35 
36 
38  IDataHandleHolder* owner=nullptr):
39  m_key(k), m_owner(owner), m_mode(a){};
40 
41  virtual ~DataHandle() = default;
42 
43  virtual void setOwner(IDataHandleHolder* o) { m_owner = o; }
44  virtual IDataHandleHolder* owner() const { return m_owner; }
45 
46  virtual Mode mode() const { return m_mode; }
47 
48  virtual void setKey(const DataObjID& key) const { m_key = key; }
49  virtual void updateKey(const std::string& key) const { m_key.updateKey(key); }
50 
51  virtual const std::string& objKey() const { return m_key.key(); }
52  virtual const DataObjID& fullKey() const { return m_key; }
53 
54  virtual void reset(bool) {};
55  virtual StatusCode commit() { return StatusCode::SUCCESS; }
56 
57  virtual std::string pythonRepr() const;
58  virtual bool init() { return true; }
59 
60 protected:
61 
68  mutable DataObjID m_key = { "NONE" };
70 
71 private:
73 
74 };
75 
76 }
77 
78 #endif
virtual void reset(bool)
Definition: DataHandle.h:54
virtual void setOwner(IDataHandleHolder *o)
Definition: DataHandle.h:43
virtual const std::string & objKey() const
Definition: DataHandle.h:51
virtual Mode mode() const
Definition: DataHandle.h:46
virtual ~DataHandle()=default
void updateKey(const std::string &key)
Definition: DataObjID.h:109
virtual void setKey(const DataObjID &key) const
Definition: DataHandle.h:48
STL class.
virtual const DataObjID & fullKey() const
Definition: DataHandle.h:52
DataObjID m_key
The key of the object behind this DataHandle Although it may look strange to have it mutable...
Definition: DataHandle.h:68
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
const std::string & key() const
Definition: DataObjID.h:49
IDataHandleHolder * m_owner
Definition: DataHandle.h:69
DataHandle(const DataObjID &k, Mode a=Reader, IDataHandleHolder *owner=nullptr)
Definition: DataHandle.h:37
virtual std::string pythonRepr() const
Definition: DataHandle.cpp:10
virtual StatusCode commit()
Definition: DataHandle.h:55
virtual bool init()
Definition: DataHandle.h:58
virtual void updateKey(const std::string &key) const
Definition: DataHandle.h:49
Helper functions to set/get the application return code.
Definition: __init__.py:1
virtual IDataHandleHolder * owner() const
Definition: DataHandle.h:44