diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2015-04-07 18:04:23 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2015-04-07 18:04:23 +0200 |
commit | 7d58a41de5dbf1b24b8bad9a2a98c21a7bf75382 (patch) | |
tree | 1a5c75d39d6772346dbceb33129dfb5650d65ef6 /src/mbgl/platform | |
parent | d424c09f038fdcd0a070e3d04684dc1511cd1732 (diff) | |
download | qtlocation-mapboxgl-7d58a41de5dbf1b24b8bad9a2a98c21a7bf75382.tar.gz |
make sqlite storage more resilient to sporadic errors
- catch SQLite exceptions and report them
- failed statements are ignored, we're really just caching here, so if it fails we're handling it gracefully elsewhere
- handle cases where the database file goes away after we opened it
- handle cases where the schema wasn't created after the database file was opened successfully
- add tests
Diffstat (limited to 'src/mbgl/platform')
-rw-r--r-- | src/mbgl/platform/log.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mbgl/platform/log.cpp b/src/mbgl/platform/log.cpp index d6cbc4fd11..2a761c6260 100644 --- a/src/mbgl/platform/log.cpp +++ b/src/mbgl/platform/log.cpp @@ -17,6 +17,12 @@ void Log::setObserver(std::unique_ptr<Observer> observer) { currentObserver = std::move(observer); } +std::unique_ptr<Log::Observer> Log::removeObserver() { + std::unique_ptr<Observer> observer; + std::swap(observer, currentObserver); + return observer; +} + void Log::record(EventSeverity severity, Event event, const std::string &msg) { record(severity, event, -1, msg); } |