diff options
author | louiz’ <louiz@louiz.org> | 2017-09-09 17:09:17 +0200 |
---|---|---|
committer | louiz’ <louiz@louiz.org> | 2017-09-09 17:09:17 +0200 |
commit | bfcf29451787d10c747ad79cb3fd177ac86e9cf1 (patch) | |
tree | 20e34434b136300cdfb3f99f07c76e6b7b9c726c /src/database | |
parent | 8d99374f1f02a4d229b49f6697247eb1e1f4f940 (diff) | |
download | biboumi-bfcf29451787d10c747ad79cb3fd177ac86e9cf1.tar.gz biboumi-bfcf29451787d10c747ad79cb3fd177ac86e9cf1.tar.bz2 biboumi-bfcf29451787d10c747ad79cb3fd177ac86e9cf1.tar.xz biboumi-bfcf29451787d10c747ad79cb3fd177ac86e9cf1.zip |
Add the persistent_by_default configuration option
fix #3293
Diffstat (limited to 'src/database')
-rw-r--r-- | src/database/database.cpp | 5 | ||||
-rw-r--r-- | src/database/database.hpp | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp index f706528..a2b88e2 100644 --- a/src/database/database.cpp +++ b/src/database/database.cpp @@ -6,6 +6,8 @@ #include <utils/get_first_non_empty.hpp> #include <utils/time.hpp> +#include <config/config.hpp> + #include <database/index.hpp> #include <sqlite3.h> @@ -18,6 +20,9 @@ Database::IrcChannelOptionsTable Database::irc_channel_options("IrcChannelOption Database::RosterTable Database::roster("roster"); std::map<Database::CacheKey, Database::EncodingIn::real_type> Database::encoding_in_cache{}; +Database::GlobalPersistent::GlobalPersistent(): + Column<bool>{Config::get_bool("persistent_by_default", false)} +{} void Database::open(const std::string& filename) { diff --git a/src/database/database.hpp b/src/database/database.hpp index f4b2ecd..f9695d3 100644 --- a/src/database/database.hpp +++ b/src/database/database.hpp @@ -73,6 +73,9 @@ class Database struct Persistent: Column<bool> { static constexpr auto name = "persistent_"; Persistent(): Column<bool>(false) {} }; + struct GlobalPersistent: Column<bool> { static constexpr auto name = "persistent_"; + GlobalPersistent(); }; + struct LocalJid: Column<std::string> { static constexpr auto name = "local"; }; struct RemoteJid: Column<std::string> { static constexpr auto name = "remote"; }; @@ -81,7 +84,7 @@ class Database using MucLogLineTable = Table<Id, Uuid, Owner, IrcChanName, IrcServerName, Date, Body, Nick>; using MucLogLine = MucLogLineTable::RowType; - using GlobalOptionsTable = Table<Id, Owner, MaxHistoryLength, RecordHistory, Persistent>; + using GlobalOptionsTable = Table<Id, Owner, MaxHistoryLength, RecordHistory, GlobalPersistent>; using GlobalOptions = GlobalOptionsTable::RowType; using IrcServerOptionsTable = Table<Id, Owner, Server, Pass, AfterConnectionCommand, TlsPorts, Ports, Username, Realname, VerifyCert, TrustedFingerprint, EncodingOut, EncodingIn, MaxHistoryLength>; |