aboutsummaryrefslogtreecommitdiff
path: root/bpkg/database
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-09-21 18:07:02 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-09-21 18:07:02 +0200
commit9792fc9d137b4dd702360ac0242f9a7a26e675c2 (patch)
tree8ea454a973e3ef03ffb82dd9dd41acd06b989694 /bpkg/database
parent542bb3eb22eefd6ed4161a5e02c828ac5c26f08b (diff)
Add tracer_guard to restore database tracer
Diffstat (limited to 'bpkg/database')
-rw-r--r--bpkg/database11
1 files changed, 11 insertions, 0 deletions
diff --git a/bpkg/database b/bpkg/database
index c4ace56..05ffb04 100644
--- a/bpkg/database
+++ b/bpkg/database
@@ -17,6 +17,17 @@ namespace bpkg
database
open (const dir_path& configuration, tracer&, bool create = false);
+
+ struct tracer_guard
+ {
+ tracer_guard (database& db, tracer& t)
+ : db_ (db), t_ (db.tracer ()) {db.tracer (t);}
+ ~tracer_guard () {db_.tracer (*t_);}
+
+ private:
+ database& db_;
+ odb::tracer* t_;
+ };
}
#endif // BPKG_DATABASE