15 #include "generalmod.h" 28 #define mCloseRollBack true 36 virtual void close(
bool failed=
false) {}
39 virtual bool isBad()
const = 0;
42 virtual const char*
connType()
const = 0;
43 virtual bool forRead()
const = 0;
48 {
return const_cast<Conn*
>(
this)->
getStream(); }
67 virtual Conn*
gtConn()
const {
return const_cast<Conn*
>(
this); }
83 XConn() : conn_(0), mine_(true) {}
84 ~XConn() {
if ( mine_ )
delete conn_; }
87 {
return conn_ ? conn_->isBad() :
true; }
89 {
return conn_ ? conn_->creationMessage() : 0; }
91 {
return conn_ && conn_->forRead(); }
93 {
return conn_ && conn_->forWrite(); }
94 virtual void close(
bool failed=
false )
95 {
if ( conn_ ) conn_->close(failed); }
97 {
return conn_ ? conn_->
getStream() : 0; }
99 void setConn( Conn* c,
bool becomesmine=
true )
100 {
if ( mine_ )
delete conn_;
101 conn_ = c; mine_ = becomesmine; }
104 static const char* sType();
111 Conn*
gtConn()
const {
return const_cast<Conn*
>(conn_); }
Conn()
Definition: conn.h:63
void setLinkedTo(const DBKey &id)
Definition: conn.h:55
#define mExpClass(module)
Definition: commondefs.h:157
bool mine_
Definition: conn.h:109
virtual bool isBad() const
Conn * conn_
Definition: conn.h:108
virtual bool isBad() const
Definition: conn.h:86
const Conn * conn() const
Returns the actual connection doing the work.
Definition: conn.h:51
virtual bool forWrite() const
Definition: conn.h:44
virtual bool forRead() const
virtual const char * creationMessage() const
Definition: conn.h:40
virtual bool forWrite() const
Definition: conn.h:92
virtual ~Conn()
Definition: conn.h:35
const char * connType() const
Definition: conn.h:103
Conn * gtConn() const
Definition: conn.h:111
virtual StreamConn * getStream()
Definition: conn.h:46
virtual void close(bool failed=false)
Definition: conn.h:94
virtual bool forRead() const
Definition: conn.h:90
const DBKey & linkedTo() const
Definition: conn.h:54
const char * connType() const
Definition: streamconn.h:54
XConn()
Definition: conn.h:83
static const bool Read
Definition: conn.h:58
Connection implemented in terms of another Conn object.
Definition: conn.h:76
Conn * conn()
Definition: conn.h:50
void rollback()
Definition: conn.h:37
void setConn(Conn *c, bool becomesmine=true)
Definition: conn.h:99
virtual StreamConn * getStream()
Definition: conn.h:96
virtual const char * creationMessage() const
Definition: conn.h:88
virtual void close(bool failed=false)
DBKey ioobjid_
Definition: conn.h:65
virtual void close(bool failed=false)
Definition: conn.h:36
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
bool isStream() const
Definition: conn.h:47
static const bool Write
Definition: conn.h:59
virtual Conn * gtConn() const
Definition: conn.h:67
Connection with an underlying iostream.
Definition: streamconn.h:25
virtual StreamConn * getStream()
Definition: streamconn.h:40
~XConn()
Definition: conn.h:84
#define mCloseRollBack
Data connection.
Definition: conn.h:28