From c9dec8f5a9bf5291aaab0f954a746073407bfdb5 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Wed, 2 Sep 2020 14:36:16 -0400 Subject: [PATCH] Factor ProjectFileIO::GetConnection (returning reference not pointer) --- src/ProjectFileIO.cpp | 13 +++++++++++-- src/ProjectFileIO.h | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/ProjectFileIO.cpp b/src/ProjectFileIO.cpp index 0ea12f42d..6121d477a 100644 --- a/src/ProjectFileIO.cpp +++ b/src/ProjectFileIO.cpp @@ -256,7 +256,7 @@ ProjectFileIO::~ProjectFileIO() { } -sqlite3 *ProjectFileIO::DB() +DBConnection &ProjectFileIO::GetConnection() { auto &curConn = CurrConn(); if (!curConn) @@ -270,9 +270,18 @@ sqlite3 *ProjectFileIO::DB() } } - return curConn->DB(); + return *curConn; } +sqlite3 *ProjectFileIO::DB() +{ + return GetConnection().DB(); +} + +/*! + @pre *CurConn() does not exist + @post *CurConn() exists or return value is false + */ bool ProjectFileIO::OpenConnection(FilePath fileName /* = {} */) { auto &curConn = CurrConn(); diff --git a/src/ProjectFileIO.h b/src/ProjectFileIO.h index 4434cb70f..b5374e80c 100644 --- a/src/ProjectFileIO.h +++ b/src/ProjectFileIO.h @@ -142,6 +142,8 @@ public: // 0 for success or non-zero to stop the query using ExecCB = std::function; + DBConnection &GetConnection(); + private: void WriteXMLHeader(XMLWriter &xmlFile) const; void WriteXML(XMLWriter &xmlFile, bool recording = false, const std::shared_ptr &tracks = nullptr) /* not override */;