diff options
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; |