summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/TransactionI.h
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-05-30 13:18:35 +0000
committerBernard Normier <bernard@zeroc.com>2007-05-30 13:18:35 +0000
commitcd8abbb04a79b0d93f34742c49b06607e4e989f7 (patch)
treefabe04903dac6bd3ecf2ac6f3248ab5c22300fa7 /cpp/src/Freeze/TransactionI.h
parentfix problem with possible use of uninitialized local variable (diff)
downloadice-cd8abbb04a79b0d93f34742c49b06607e4e989f7.tar.bz2
ice-cd8abbb04a79b0d93f34742c49b06607e4e989f7.tar.xz
ice-cd8abbb04a79b0d93f34742c49b06607e4e989f7.zip
Removed transactional evictor context
Diffstat (limited to 'cpp/src/Freeze/TransactionI.h')
-rw-r--r--cpp/src/Freeze/TransactionI.h29
1 files changed, 23 insertions, 6 deletions
diff --git a/cpp/src/Freeze/TransactionI.h b/cpp/src/Freeze/TransactionI.h
index 04c44dc68c3..7a7922d1297 100644
--- a/cpp/src/Freeze/TransactionI.h
+++ b/cpp/src/Freeze/TransactionI.h
@@ -19,16 +19,27 @@ namespace Freeze
class ConnectionI;
typedef IceUtil::Handle<ConnectionI> ConnectionIPtr;
+class PostCompletionCallback : public virtual IceUtil::Shared
+{
+public:
+
+ virtual void postCompletion(bool, bool) = 0;
+};
+typedef IceUtil::Handle<PostCompletionCallback> PostCompletionCallbackPtr;
+
+
class TransactionI : public Transaction
{
public:
- virtual void
- commit();
+ virtual void commit();
- virtual void
- rollback();
+ virtual void rollback();
+
+ virtual ConnectionPtr getConnection() const;
+ void setPostCompletionCallback(const PostCompletionCallbackPtr&);
+
TransactionI(ConnectionI*);
~TransactionI();
@@ -38,14 +49,20 @@ public:
return _txn;
}
+ const ConnectionIPtr&
+ getConnectionI() const
+ {
+ return _connection;
+ }
+
private:
- void
- cleanup();
+ void postCompletion(bool, bool);
ConnectionIPtr _connection;
Ice::Int _txTrace;
DbTxn* _txn;
+ PostCompletionCallbackPtr _postCompletionCallback;
};
typedef IceUtil::Handle<TransactionI> TransactionIPtr;