summaryrefslogtreecommitdiff
path: root/libodb/odb/transaction.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'libodb/odb/transaction.ixx')
-rw-r--r--libodb/odb/transaction.ixx68
1 files changed, 68 insertions, 0 deletions
diff --git a/libodb/odb/transaction.ixx b/libodb/odb/transaction.ixx
new file mode 100644
index 0000000..cc1ce5e
--- /dev/null
+++ b/libodb/odb/transaction.ixx
@@ -0,0 +1,68 @@
+// file : odb/transaction.ixx
+// license : GNU GPL v2; see accompanying LICENSE file
+
+#include <odb/connection.hxx>
+
+namespace odb
+{
+ inline transaction::
+ transaction ()
+ : finalized_ (true),
+ impl_ (0),
+ free_callback_ (max_callback_count),
+ callback_count_ (0)
+ {
+ }
+
+ inline transaction::
+ transaction (transaction_impl* impl, bool make_current)
+ : finalized_ (true),
+ impl_ (0),
+ free_callback_ (max_callback_count),
+ callback_count_ (0)
+ {
+ reset (impl, make_current);
+ }
+
+ inline transaction::database_type& transaction::
+ database ()
+ {
+ return impl_->database ();
+ }
+
+ inline transaction::connection_type& transaction::
+ connection ()
+ {
+ return impl_->connection (0);
+ }
+
+ inline transaction::connection_type& transaction::
+ connection (database_type& db)
+ {
+ return impl_->connection (&db);
+ }
+
+ inline transaction_impl& transaction::
+ implementation ()
+ {
+ return *impl_;
+ }
+
+ inline void transaction::
+ tracer (tracer_type& t)
+ {
+ impl_->tracer (&t);
+ }
+
+ inline void transaction::
+ tracer (tracer_type* t)
+ {
+ impl_->tracer (t);
+ }
+
+ inline transaction::tracer_type* transaction::
+ tracer () const
+ {
+ return impl_->tracer ();
+ }
+}