summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/TransactionI.h
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-08-23 14:56:08 -0400
committerBernard Normier <bernard@zeroc.com>2007-08-23 14:56:08 -0400
commit0664ab6ebfe794441a5d2f15507f449231384c85 (patch)
tree7df11c9a0d891c62cb284b62e1416b2742788ee2 /cpp/src/Freeze/TransactionI.h
parenthttp://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2426 - logger date/time fo... (diff)
downloadice-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.h15
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;