diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-09-21 18:07:02 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-09-21 18:07:02 +0200 |
commit | 9792fc9d137b4dd702360ac0242f9a7a26e675c2 (patch) | |
tree | 8ea454a973e3ef03ffb82dd9dd41acd06b989694 /bpkg/database | |
parent | 542bb3eb22eefd6ed4161a5e02c828ac5c26f08b (diff) |
Add tracer_guard to restore database tracer
Diffstat (limited to 'bpkg/database')
-rw-r--r-- | bpkg/database | 11 |
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 |