00001 // Dear emacs, this is -*- c++ -*- 00002 // $Id: ElementLinkBase.h 567807 2013-10-30 09:30:16Z krasznaa $ 00003 #ifndef ATHLINKS_ELEMENTLINKBASE_H 00004 #define ATHLINKS_ELEMENTLINKBASE_H 00005 00006 // System include(s): 00007 extern "C" { 00008 # include <stdint.h> 00009 } 00010 00022 class ElementLinkBase { 00023 00024 public: 00026 ElementLinkBase( uint32_t key = 0, uint32_t index = 0 ); 00028 virtual ~ElementLinkBase() {} 00029 00031 uint32_t persKey() const; 00033 void setPersKey( uint32_t key ); 00034 00036 uint32_t persIndex() const; 00038 void setPersIndex( uint32_t index ); 00039 00041 virtual bool toTransient() = 0; 00042 00043 protected: 00045 uint32_t m_persKey; 00047 uint32_t m_persIndex; 00048 00057 bool m_isDirectIO; 00058 00059 }; // class ElementLinkBase 00060 00061 #endif // ATHLINKS_ELEMENTLINKBASE_H