00001
00002
00003
00004
00005
00006
00007
00008 #ifndef DBCNV_DBLINK_H
00009 #define DBCNV_DBLINK_H 1
00010
00011
00012 #include "GaudiKernel/GenericLink.h"
00013 #include "GaudiDb/DbHandle.h"
00014
00015
00016 class DbLink {};
00017
00038 template <> class dbHandle<DbLink>
00039 : virtual public GenericLinkBase
00040 {
00041 protected:
00042 bool m_isSymbolic;
00043 public:
00045 dbHandle() : m_isSymbolic(false) {
00046 }
00048 dbHandle(bool symb) : m_isSymbolic(symb) {
00049 }
00051 dbHandle(const GenericLinkBase& link)
00052 : GenericLinkBase(link), m_isSymbolic(false) {
00053 }
00055 dbHandle(const GenericLinkBase& link, bool sym)
00056 : GenericLinkBase(link), m_isSymbolic(sym) {
00057 }
00059 dbHandle(const dbHandle<DbLink>& link)
00060 : GenericLinkBase(link), m_isSymbolic(link.m_isSymbolic) {
00061 }
00063 virtual ~dbHandle() {
00064 }
00066 virtual dbHandle& operator=(const dbHandle<DbLink>& link) {
00067 GenericLinkBase::operator=(link);
00068 m_isSymbolic = link.m_isSymbolic;
00069 return *this;
00070 }
00072 bool isSymbolic() const {
00073 return m_isSymbolic;
00074 }
00076 void makeSymbolic(bool sym=true) {
00077 m_isSymbolic = sym;
00078 }
00079 };
00080 #endif // DBCNV_DBLINK_H