diff options
author | Bernard Normier <bernard@zeroc.com> | 2007-08-23 14:56:08 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2007-08-23 14:56:08 -0400 |
commit | 0664ab6ebfe794441a5d2f15507f449231384c85 (patch) | |
tree | 7df11c9a0d891c62cb284b62e1416b2742788ee2 /cpp/src/Freeze/TransactionI.h | |
parent | http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2426 - logger date/time fo... (diff) | |
download | ice-0664ab6ebfe794441a5d2f15507f449231384c85.tar.bz2 ice-0664ab6ebfe794441a5d2f15507f449231384c85.tar.xz ice-0664ab6ebfe794441a5d2f15507f449231384c85.zip |
Fixed bug #2233
Diffstat (limited to 'cpp/src/Freeze/TransactionI.h')
-rw-r--r-- | cpp/src/Freeze/TransactionI.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/cpp/src/Freeze/TransactionI.h b/cpp/src/Freeze/TransactionI.h index 7a7922d1297..b8e5a9a582d 100644 --- a/cpp/src/Freeze/TransactionI.h +++ b/cpp/src/Freeze/TransactionI.h @@ -38,6 +38,12 @@ public: virtual ConnectionPtr getConnection() const; + // + // Custom refcounting implementation + // + virtual void __incRef(); + virtual void __decRef(); + void setPostCompletionCallback(const PostCompletionCallbackPtr&); TransactionI(ConnectionI*); @@ -49,17 +55,22 @@ public: return _txn; } - const ConnectionIPtr& + const ConnectionI* getConnectionI() const { return _connection; } private: + + friend class ConnectionI; + + void internalIncRef(); + void internalDecRef(); void postCompletion(bool, bool); - ConnectionIPtr _connection; + ConnectionI* const _connection; Ice::Int _txTrace; DbTxn* _txn; PostCompletionCallbackPtr _postCompletionCallback; |