From e88f4eba50fb5d94ed901a53ca23fc932cc7553b Mon Sep 17 00:00:00 2001 From: Brendan Long Date: Sat, 21 Oct 2017 14:06:56 -0400 Subject: Pass a DB handle into plugins instead of having them look it up --- plugins/backend/bazqux/bazquxAPI.vala | 4 ++-- plugins/backend/bazqux/bazquxInterface.vala | 8 ++++--- plugins/backend/demo/demoInterface.vala | 2 +- plugins/backend/feedbin/feedbinInterface.vala | 10 +++++---- plugins/backend/feedhq/feedhqInterface.vala | 8 ++++--- plugins/backend/feedly/feedlyAPI.vala | 14 +++++++----- plugins/backend/feedly/feedlyInterface.vala | 14 +++++++----- plugins/backend/fresh/freshAPI.vala | 6 +++-- plugins/backend/fresh/freshInterface.vala | 6 +++-- plugins/backend/inoreader/InoReaderAPI.vala | 8 ++++--- plugins/backend/inoreader/InoReaderInterface.vala | 10 +++++---- plugins/backend/local/localInterface.vala | 26 ++++++++++++---------- plugins/backend/oldreader/oldreaderAPI.vala | 6 +++-- plugins/backend/oldreader/oldreaderInterface.vala | 10 +++++---- plugins/backend/owncloud/OwncloudNewsAPI.vala | 10 +++++---- .../backend/owncloud/OwncloudNewsInterface.vala | 10 +++++---- plugins/backend/ttrss/ttrssAPI.vala | 6 +++-- plugins/backend/ttrss/ttrssInterface.vala | 12 +++++----- src/Backend/FeedServer.vala | 2 +- src/Backend/FeedServerInterface.vala | 2 +- 20 files changed, 103 insertions(+), 71 deletions(-) diff --git a/plugins/backend/bazqux/bazquxAPI.vala b/plugins/backend/bazqux/bazquxAPI.vala index ba1fcaf6..1555f797 100644 --- a/plugins/backend/bazqux/bazquxAPI.vala +++ b/plugins/backend/bazqux/bazquxAPI.vala @@ -191,7 +191,7 @@ public class FeedReader.bazquxAPI : GLib.Object { new Tag( id, title, - DataBase.readOnly().getTagColor() + m_db.getTagColor() ) ); } @@ -341,7 +341,7 @@ public class FeedReader.bazquxAPI : GLib.Object { marked = true; else if(cat.has_suffix("com.google/read")) read = true; - else if(cat.contains("/label/") && DataBase.readOnly().getTagName(cat) != null) + else if(cat.contains("/label/") && m_db.getTagName(cat) != null) tags.add(cat); } diff --git a/plugins/backend/bazqux/bazquxInterface.vala b/plugins/backend/bazqux/bazquxInterface.vala index e1ac551f..df5798a3 100644 --- a/plugins/backend/bazqux/bazquxInterface.vala +++ b/plugins/backend/bazqux/bazquxInterface.vala @@ -19,9 +19,11 @@ public class FeedReader.bazquxInterface : Peas.ExtensionBase, FeedServerInterfac private bazquxUtils m_utils; private Gtk.Entry m_userEntry; private Gtk.Entry m_passwordEntry; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { + m_db = db; m_api = new bazquxAPI(); m_utils = new bazquxUtils(); } @@ -252,13 +254,13 @@ public class FeedReader.bazquxInterface : Peas.ExtensionBase, FeedServerInterfac public void markAllItemsRead() { - var categories = DataBase.readOnly().read_categories(); + var categories = m_db.read_categories(); foreach(Category cat in categories) { m_api.markAsRead(cat.getCatID()); } - var feeds = DataBase.readOnly().read_feeds_without_cat(); + var feeds = m_db.read_feeds_without_cat(); foreach(Feed feed in feeds) { m_api.markAsRead(feed.getFeedID()); diff --git a/plugins/backend/demo/demoInterface.vala b/plugins/backend/demo/demoInterface.vala index 8de7900f..ef016781 100644 --- a/plugins/backend/demo/demoInterface.vala +++ b/plugins/backend/demo/demoInterface.vala @@ -10,7 +10,7 @@ public class FeedReader.demoInterface : Peas.ExtensionBase, FeedServerInterface // This method gets executed right after the plugin is loaded. Do everything // you need to set up the plugin here. //-------------------------------------------------------------------------------------- - public void init() + public void init(DataBaseReadOnly db) { } diff --git a/plugins/backend/feedbin/feedbinInterface.vala b/plugins/backend/feedbin/feedbinInterface.vala index 5193352d..4be35249 100644 --- a/plugins/backend/feedbin/feedbinInterface.vala +++ b/plugins/backend/feedbin/feedbinInterface.vala @@ -19,9 +19,11 @@ public class FeedReader.FeedbinInterface : Peas.ExtensionBase, FeedServerInterfa private FeedbinUtils m_utils; private Gtk.Entry m_userEntry; private Gtk.Entry m_passwordEntry; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { + m_db = db; m_utils = new FeedbinUtils(); m_api = new FeedbinAPI(m_utils.getUser(), m_utils.getPassword(), Constants.USER_AGENT); } @@ -288,7 +290,7 @@ public class FeedReader.FeedbinInterface : Peas.ExtensionBase, FeedServerInterfa int num_articles = 1; // set to any value > 0 for(var offset = 0; num_articles > 0; offset += count) { - var articles = DataBase.readOnly().read_articles(id, type, ArticleListState.ALL, "", count, offset); + var articles = m_db.read_articles(id, type, ArticleListState.ALL, "", count, offset); var entry_ids = new Gee.ArrayList(); foreach(var article in articles) { @@ -629,7 +631,7 @@ public class FeedReader.FeedbinInterface : Peas.ExtensionBase, FeedServerInterfa since = new DateTime.now_utc().add_months(-6); break; } - if(!DataBase.readOnly().isTableEmpty("articles")) + if(!m_db.isTableEmpty("articles")) { var last_sync = new DateTime.from_unix_utc(settings_state.get_int("last-sync")); if(since == null || last_sync.to_unix() > since.to_unix()) @@ -678,7 +680,7 @@ public class FeedReader.FeedbinInterface : Peas.ExtensionBase, FeedServerInterfa for(var offset = 0, c = 1000; ; offset += c) { var articles = new Gee.ArrayList
(); - var existing_articles = DataBase.readOnly().read_articles(search_feed_id, search_type, ArticleListState.ALL, "", c, offset); + var existing_articles = m_db.read_articles(search_feed_id, search_type, ArticleListState.ALL, "", c, offset); if(existing_articles.size == 0) break; diff --git a/plugins/backend/feedhq/feedhqInterface.vala b/plugins/backend/feedhq/feedhqInterface.vala index 1c65f990..a75170b4 100644 --- a/plugins/backend/feedhq/feedhqInterface.vala +++ b/plugins/backend/feedhq/feedhqInterface.vala @@ -19,9 +19,11 @@ public class FeedReader.FeedHQInterface : Peas.ExtensionBase, FeedServerInterfac private FeedHQUtils m_utils; private Gtk.Entry m_userEntry; private Gtk.Entry m_passwordEntry; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { + m_db = db; m_api = new FeedHQAPI(); m_utils = new FeedHQUtils(); } @@ -254,13 +256,13 @@ public class FeedReader.FeedHQInterface : Peas.ExtensionBase, FeedServerInterfac public void markAllItemsRead() { - var categories = DataBase.readOnly().read_categories(); + var categories = m_db.read_categories(); foreach(Category cat in categories) { m_api.markAsRead(cat.getCatID()); } - var feeds = DataBase.readOnly().read_feeds_without_cat(); + var feeds = m_db.read_feeds_without_cat(); foreach(Feed feed in feeds) { m_api.markAsRead(feed.getFeedID()); diff --git a/plugins/backend/feedly/feedlyAPI.vala b/plugins/backend/feedly/feedlyAPI.vala index 9c3483b3..6e435d46 100644 --- a/plugins/backend/feedly/feedlyAPI.vala +++ b/plugins/backend/feedly/feedlyAPI.vala @@ -19,8 +19,10 @@ public class FeedReader.FeedlyAPI : Object { private string m_userID; private Json.Array m_unreadcounts; private FeedlyUtils m_utils; + private DataBaseReadOnly m_db; - public FeedlyAPI() { + public FeedlyAPI(DataBaseReadOnly db) { + m_db = db; m_connection = new FeedlyConnection(); m_utils = new FeedlyUtils(); } @@ -278,7 +280,7 @@ public class FeedReader.FeedlyAPI : Object { new Tag( object.get_string_member("id"), object.has_member("label") ? object.get_string_member("label") : "", - DataBase.readOnly().getTagColor() + m_db.getTagColor() ) ); } @@ -598,7 +600,7 @@ public class FeedReader.FeedlyAPI : Object { foreach(string catID in catArray) { - string catName = DataBase.readOnly().getCategoryName(catID); + string catName = m_db.getCategoryName(catID); Json.Object catObject = new Json.Object(); catObject.set_string_member("id", catID); catObject.set_string_member("label", catName); @@ -618,7 +620,7 @@ public class FeedReader.FeedlyAPI : Object { public void moveSubscription(string feedID, string newCatID, string? oldCatID = null) { - var Feed = DataBase.readOnly().read_feed(feedID); + var Feed = m_db.read_feed(feedID); Json.Object object = new Json.Object(); object.set_string_member("id", feedID); @@ -632,7 +634,7 @@ public class FeedReader.FeedlyAPI : Object { { if(catID != oldCatID) { - string catName = DataBase.readOnly().getCategoryName(catID); + string catName = m_db.getCategoryName(catID); Json.Object catObject = new Json.Object(); catObject.set_string_member("id", catID); catObject.set_string_member("label", catName); @@ -640,7 +642,7 @@ public class FeedReader.FeedlyAPI : Object { } } - string newCatName = DataBase.readOnly().getCategoryName(newCatID); + string newCatName = m_db.getCategoryName(newCatID); Json.Object catObject = new Json.Object(); catObject.set_string_member("id", newCatID); catObject.set_string_member("label", newCatName); diff --git a/plugins/backend/feedly/feedlyInterface.vala b/plugins/backend/feedly/feedlyInterface.vala index 0eba72b1..6c777e28 100644 --- a/plugins/backend/feedly/feedlyInterface.vala +++ b/plugins/backend/feedly/feedlyInterface.vala @@ -17,10 +17,12 @@ public class FeedReader.feedlyInterface : Peas.ExtensionBase, FeedServerInterfac private FeedlyAPI m_api; private FeedlyUtils m_utils; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { - m_api = new FeedlyAPI(); + m_db = db; + m_api = new FeedlyAPI(m_db); m_utils = new FeedlyUtils(); } @@ -213,8 +215,8 @@ public class FeedReader.feedlyInterface : Peas.ExtensionBase, FeedServerInterfac string catArray = ""; string feedArray = ""; - var categories = DataBase.readOnly().read_categories(); - var feeds = DataBase.readOnly().read_feeds_without_cat(); + var categories = m_db.read_categories(); + var feeds = m_db.read_feeds_without_cat(); foreach(Category cat in categories) { @@ -297,7 +299,7 @@ public class FeedReader.feedlyInterface : Peas.ExtensionBase, FeedServerInterfac public void renameFeed(string feedID, string title) { - var feed = DataBase.readOnly().read_feed(feedID); + var feed = m_db.read_feed(feedID); m_api.addSubscription(feed.getFeedID(), title, feed.getCatString()); } @@ -328,7 +330,7 @@ public class FeedReader.feedlyInterface : Peas.ExtensionBase, FeedServerInterfac public void removeCatFromFeed(string feedID, string catID) { - var feed = DataBase.readOnly().read_feed(feedID); + var feed = m_db.read_feed(feedID); m_api.addSubscription(feed.getFeedID(), feed.getTitle(), feed.getCatString().replace(catID + ",", "")); } diff --git a/plugins/backend/fresh/freshAPI.vala b/plugins/backend/fresh/freshAPI.vala index 839f4aee..72cf3eb4 100644 --- a/plugins/backend/fresh/freshAPI.vala +++ b/plugins/backend/fresh/freshAPI.vala @@ -17,9 +17,11 @@ public class FeedReader.freshAPI : Object { private freshConnection m_connection; private freshUtils m_utils; + private DataBaseReadOnly m_db; - public freshAPI() + public freshAPI(DataBaseReadOnly db) { + m_db = db; m_connection = new freshConnection(); m_utils = new freshUtils(); } @@ -311,7 +313,7 @@ public class FeedReader.freshAPI : Object { var msg = new freshMessage(); msg.add("T", m_connection.getToken()); msg.add("s", streamID); - msg.add("ts", DataBase.readOnly().getNewestArticle()); + msg.add("ts", m_db.getNewestArticle()); var response = m_connection.postRequest(path, msg.get(), "application/x-www-form-urlencoded"); diff --git a/plugins/backend/fresh/freshInterface.vala b/plugins/backend/fresh/freshInterface.vala index 6caf51f9..3ef0cbea 100644 --- a/plugins/backend/fresh/freshInterface.vala +++ b/plugins/backend/fresh/freshInterface.vala @@ -24,10 +24,12 @@ public class FeedReader.freshInterface : Peas.ExtensionBase, FeedServerInterface private Gtk.Entry m_authUserEntry; private Gtk.Revealer m_revealer; private bool m_need_htaccess = false; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { - m_api = new freshAPI(); + m_db = db; + m_api = new freshAPI(db); m_utils = new freshUtils(); } diff --git a/plugins/backend/inoreader/InoReaderAPI.vala b/plugins/backend/inoreader/InoReaderAPI.vala index 2e357399..88c527a3 100644 --- a/plugins/backend/inoreader/InoReaderAPI.vala +++ b/plugins/backend/inoreader/InoReaderAPI.vala @@ -24,9 +24,11 @@ public class FeedReader.InoReaderAPI : GLib.Object { private InoReaderConnection m_connection; private InoReaderUtils m_utils; private string m_userID; + private DataBaseReadOnly m_db; - public InoReaderAPI () + public InoReaderAPI (DataBaseReadOnly db) { + m_db = db; m_connection = new InoReaderConnection(); m_utils = new InoReaderUtils(); } @@ -190,7 +192,7 @@ public class FeedReader.InoReaderAPI : GLib.Object { new Tag( id, title, - DataBase.readOnly().getTagColor() + m_db.getTagColor() ) ); } @@ -336,7 +338,7 @@ public class FeedReader.InoReaderAPI : GLib.Object { marked = true; else if(cat.has_suffix("com.google/read")) read = true; - else if(cat.contains("/label/") && DataBase.readOnly().getTagName(cat) != null) + else if(cat.contains("/label/") && m_db.getTagName(cat) != null) tags.add(cat); } diff --git a/plugins/backend/inoreader/InoReaderInterface.vala b/plugins/backend/inoreader/InoReaderInterface.vala index 3a6debd4..437e07b4 100644 --- a/plugins/backend/inoreader/InoReaderInterface.vala +++ b/plugins/backend/inoreader/InoReaderInterface.vala @@ -17,10 +17,12 @@ public class FeedReader.InoReaderInterface : Peas.ExtensionBase, FeedServerInter private InoReaderAPI m_api; private InoReaderUtils m_utils; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { - m_api = new InoReaderAPI(); + m_db = db; + m_api = new InoReaderAPI(db); m_utils = new InoReaderUtils(); } @@ -227,13 +229,13 @@ public class FeedReader.InoReaderInterface : Peas.ExtensionBase, FeedServerInter public void markAllItemsRead() { - var categories = DataBase.readOnly().read_categories(); + var categories = m_db.read_categories(); foreach(Category cat in categories) { m_api.markAsRead(cat.getCatID()); } - var feeds = DataBase.readOnly().read_feeds_without_cat(); + var feeds = m_db.read_feeds_without_cat(); foreach(Feed feed in feeds) { m_api.markAsRead(feed.getFeedID()); diff --git a/plugins/backend/local/localInterface.vala b/plugins/backend/local/localInterface.vala index 6f22d8d7..3c04575f 100644 --- a/plugins/backend/local/localInterface.vala +++ b/plugins/backend/local/localInterface.vala @@ -18,9 +18,11 @@ public class FeedReader.localInterface : Peas.ExtensionBase, FeedServerInterface private localUtils m_utils; private Soup.Session m_session; private Gtk.ListBox m_feedlist; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { + m_db = db; m_utils = new localUtils(); m_session = new Soup.Session(); m_session.user_agent = Constants.USER_AGENT; @@ -360,8 +362,8 @@ public class FeedReader.localInterface : Peas.ExtensionBase, FeedServerInterface { string tagID = "1"; - if(!DataBase.readOnly().isTableEmpty("tags")) - tagID = (int.parse(DataBase.readOnly().getMaxID("tags", "tagID")) + 1).to_string(); + if(!m_db.isTableEmpty("tags")) + tagID = (int.parse(m_db.getMaxID("tags", "tagID")) + 1).to_string(); Logger.info("createTag: ID = " + tagID); return tagID; @@ -400,9 +402,9 @@ public class FeedReader.localInterface : Peas.ExtensionBase, FeedServerInterface feedID = "feedID00001"; - if(!DataBase.readOnly().isTableEmpty("feeds")) + if(!m_db.isTableEmpty("feeds")) { - feedID = "feedID%05d".printf(int.parse(DataBase.readOnly().getMaxID("feeds", "feed_id").substring(6)) + 1); + feedID = "feedID%05d".printf(int.parse(m_db.getMaxID("feeds", "feed_id").substring(6)) + 1); } Logger.info(@"addFeed: ID = $feedID"); @@ -410,7 +412,7 @@ public class FeedReader.localInterface : Peas.ExtensionBase, FeedServerInterface if(Feed != null) { - if(!DataBase.readOnly().feed_exists(Feed.getURL())) { + if(!m_db.feed_exists(Feed.getURL())) { var list = new Gee.LinkedList(); list.add(Feed); DataBase.writeAccess().write_feeds(list); @@ -427,8 +429,8 @@ public class FeedReader.localInterface : Peas.ExtensionBase, FeedServerInterface int highestID = 0; - if(!DataBase.readOnly().isTableEmpty("feeds")) - highestID = int.parse(DataBase.readOnly().getMaxID("feeds", "feed_id").substring(6)) + 1; + if(!m_db.isTableEmpty("feeds")) + highestID = int.parse(m_db.getMaxID("feeds", "feed_id").substring(6)) + 1; foreach(Feed f in feeds) { @@ -478,12 +480,12 @@ public class FeedReader.localInterface : Peas.ExtensionBase, FeedServerInterface { string catID = "catID00001"; - if(!DataBase.readOnly().isTableEmpty("categories")) + if(!m_db.isTableEmpty("categories")) { - string? id = DataBase.readOnly().getCategoryID(title); + string? id = m_db.getCategoryID(title); if(id == null) { - catID = "catID%05d".printf(int.parse(DataBase.readOnly().getMaxID("categories", "categorieID").substring(5)) + 1); + catID = "catID%05d".printf(int.parse(m_db.getMaxID("categories", "categorieID").substring(5)) + 1); } else { @@ -533,7 +535,7 @@ public class FeedReader.localInterface : Peas.ExtensionBase, FeedServerInterface public void getArticles(int count, ArticleStatus whatToGet, string? feedID, bool isTagID, GLib.Cancellable? cancellable = null) { - var f = DataBase.readOnly().read_feeds(); + var f = m_db.read_feeds(); var articleArray = new Gee.LinkedList
(); GLib.Mutex mutex = GLib.Mutex(); diff --git a/plugins/backend/oldreader/oldreaderAPI.vala b/plugins/backend/oldreader/oldreaderAPI.vala index 3b2d3fcc..72fc244a 100644 --- a/plugins/backend/oldreader/oldreaderAPI.vala +++ b/plugins/backend/oldreader/oldreaderAPI.vala @@ -24,9 +24,11 @@ public class FeedReader.OldReaderAPI : GLib.Object { private OldReaderConnection m_connection; private OldReaderUtils m_utils; private string m_userID; + private DataBaseReadOnly m_db; - public OldReaderAPI() + public OldReaderAPI(DataBaseReadOnly db) { + m_db = db; m_utils = new OldReaderUtils(); m_connection = new OldReaderConnection(); } @@ -318,7 +320,7 @@ public class FeedReader.OldReaderAPI : GLib.Object { marked = true; else if(cat.has_suffix("com.google/read")) read = true; - else if(cat.contains("/label/") && DataBase.readOnly().getTagName(cat) != null) + else if(cat.contains("/label/") && m_db.getTagName(cat) != null) tags.add(cat); } diff --git a/plugins/backend/oldreader/oldreaderInterface.vala b/plugins/backend/oldreader/oldreaderInterface.vala index 7fbfb425..57c5f7de 100644 --- a/plugins/backend/oldreader/oldreaderInterface.vala +++ b/plugins/backend/oldreader/oldreaderInterface.vala @@ -19,10 +19,12 @@ public class FeedReader.OldReaderInterface : Peas.ExtensionBase, FeedServerInter private OldReaderUtils m_utils; private Gtk.Entry m_userEntry; private Gtk.Entry m_passwordEntry; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { - m_api = new OldReaderAPI(); + m_db = db; + m_api = new OldReaderAPI(db); m_utils = new OldReaderUtils(); } @@ -253,13 +255,13 @@ public class FeedReader.OldReaderInterface : Peas.ExtensionBase, FeedServerInter public void markAllItemsRead() { - var categories = DataBase.readOnly().read_categories(); + var categories = m_db.read_categories(); foreach(Category cat in categories) { m_api.markAsRead(cat.getCatID()); } - var feeds = DataBase.readOnly().read_feeds_without_cat(); + var feeds = m_db.read_feeds_without_cat(); foreach(Feed feed in feeds) { m_api.markAsRead(feed.getFeedID()); diff --git a/plugins/backend/owncloud/OwncloudNewsAPI.vala b/plugins/backend/owncloud/OwncloudNewsAPI.vala index de39b7bc..79e8d5cd 100644 --- a/plugins/backend/owncloud/OwncloudNewsAPI.vala +++ b/plugins/backend/owncloud/OwncloudNewsAPI.vala @@ -29,9 +29,11 @@ public class FeedReader.OwncloudNewsAPI : GLib.Object { private string m_password; private OwncloudNewsUtils m_utils; private Soup.Session m_session; + private DataBaseReadOnly m_db; - public OwncloudNewsAPI() + public OwncloudNewsAPI(DataBaseReadOnly db) { + m_db = db; m_parser = new Json.Parser (); m_utils = new OwncloudNewsUtils(); m_session = new Soup.Session(); @@ -352,7 +354,7 @@ public class FeedReader.OwncloudNewsAPI : GLib.Object { { string url = "%s/%s/read".printf((isCatID) ? "folders" : "feeds", feedID); var message = new OwnCloudNewsMessage(m_session, m_OwnCloudURL + url, m_username, m_password, "PUT"); - message.add_int("newestItemId", int.parse(DataBase.readOnly().getNewestArticle())); + message.add_int("newestItemId", int.parse(m_db.getNewestArticle())); int error = message.send(); if(error == ConnectionError.SUCCESS) @@ -366,7 +368,7 @@ public class FeedReader.OwncloudNewsAPI : GLib.Object { { string url = "items/read"; var message = new OwnCloudNewsMessage(m_session, m_OwnCloudURL + url, m_username, m_password, "PUT"); - message.add_int("newestItemId", int.parse(DataBase.readOnly().getNewestArticle())); + message.add_int("newestItemId", int.parse(m_db.getNewestArticle())); int error = message.send(); if(error == ConnectionError.SUCCESS) @@ -400,7 +402,7 @@ public class FeedReader.OwncloudNewsAPI : GLib.Object { public bool updateArticleMarked(string articleID, ArticleStatus marked) { - var article = DataBase.readOnly().read_article(articleID); + var article = m_db.read_article(articleID); string url = "items/%s/%s/".printf(article.getFeedID(), article.getHash()); if(marked == ArticleStatus.MARKED) diff --git a/plugins/backend/owncloud/OwncloudNewsInterface.vala b/plugins/backend/owncloud/OwncloudNewsInterface.vala index 9a1f3a22..8e01a42a 100644 --- a/plugins/backend/owncloud/OwncloudNewsInterface.vala +++ b/plugins/backend/owncloud/OwncloudNewsInterface.vala @@ -24,10 +24,12 @@ public class FeedReader.OwncloudNewsInterface : Peas.ExtensionBase, FeedServerIn private Gtk.Entry m_AuthPasswordEntry; private Gtk.Revealer m_revealer; private bool m_need_htaccess = false; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { - m_api = new OwncloudNewsAPI(); + m_db = db; + m_api = new OwncloudNewsAPI(m_db); m_utils = new OwncloudNewsUtils(); } @@ -429,7 +431,7 @@ public class FeedReader.OwncloudNewsInterface : Peas.ExtensionBase, FeedServerIn public int getUnreadCount() { - return (int)DataBase.readOnly().get_unread_total(); + return (int)m_db.get_unread_total(); } public void getArticles(int count, ArticleStatus whatToGet, string? feedID, bool isTagID, GLib.Cancellable? cancellable = null) @@ -462,7 +464,7 @@ public class FeedReader.OwncloudNewsInterface : Peas.ExtensionBase, FeedServerIn var articles = new Gee.LinkedList
(); if(count == -1) - m_api.getNewArticles(articles, DataBase.readOnly().getLastModified(), type, id); + m_api.getNewArticles(articles, m_db.getLastModified(), type, id); else m_api.getArticles(articles, 0, -1, read, type, id); diff --git a/plugins/backend/ttrss/ttrssAPI.vala b/plugins/backend/ttrss/ttrssAPI.vala index aab70994..ab5577af 100644 --- a/plugins/backend/ttrss/ttrssAPI.vala +++ b/plugins/backend/ttrss/ttrssAPI.vala @@ -22,9 +22,11 @@ public class FeedReader.ttrssAPI : GLib.Object { private Json.Parser m_parser; private string? m_iconDir = null; private Soup.Session m_session; + private DataBaseReadOnly m_db; - public ttrssAPI () + public ttrssAPI (DataBaseReadOnly db) { + m_db = db; m_parser = new Json.Parser(); m_utils = new ttrssUtils(); m_session = new Soup.Session(); @@ -291,7 +293,7 @@ public class FeedReader.ttrssAPI : GLib.Object { new Tag( tag_node.get_int_member("id").to_string(), tag_node.get_string_member("caption"), - DataBase.readOnly().getTagColor() + m_db.getTagColor() ) ); } diff --git a/plugins/backend/ttrss/ttrssInterface.vala b/plugins/backend/ttrss/ttrssInterface.vala index 915d1057..b9c16d0f 100644 --- a/plugins/backend/ttrss/ttrssInterface.vala +++ b/plugins/backend/ttrss/ttrssInterface.vala @@ -24,10 +24,12 @@ public class FeedReader.ttrssInterface : Peas.ExtensionBase, FeedServerInterface private Gtk.Entry m_authUserEntry; private Gtk.Revealer m_revealer; private bool m_need_htaccess = false; + private DataBaseReadOnly m_db; - public void init() + public void init(DataBaseReadOnly db) { - m_api = new ttrssAPI(); + m_db = db; + m_api = new ttrssAPI(m_db); m_utils = new ttrssUtils(); } @@ -310,7 +312,7 @@ public class FeedReader.ttrssInterface : Peas.ExtensionBase, FeedServerInterface public void markAllItemsRead() { - var categories = DataBase.readOnly().read_categories(); + var categories = m_db.read_categories(); foreach(Category cat in categories) { m_api.catchupFeed(cat.getCatID(), true); @@ -356,7 +358,7 @@ public class FeedReader.ttrssInterface : Peas.ExtensionBase, FeedServerInterface } if(success) - feedID = (int.parse(DataBase.readOnly().getMaxID("feeds", "feed_id")) + 1).to_string(); + feedID = (int.parse(m_db.getMaxID("feeds", "feed_id")) + 1).to_string(); else feedID = "-98"; @@ -507,7 +509,7 @@ public class FeedReader.ttrssInterface : Peas.ExtensionBase, FeedServerInterface foreach(Article article in articles) { var id = article.getArticleID(); - if(!DataBase.readOnly().article_exists(id)) + if(!m_db.article_exists(id)) { articleIDs += id + ","; } diff --git a/src/Backend/FeedServer.vala b/src/Backend/FeedServer.vala index feded383..7c66c4fa 100644 --- a/src/Backend/FeedServer.vala +++ b/src/Backend/FeedServer.vala @@ -41,7 +41,7 @@ public class FeedReader.FeedServer : GLib.Object { m_extensions.extension_added.connect((info, extension) => { Logger.debug("feedserver: plugin loaded %s".printf(info.get_name())); - (extension as FeedServerInterface).init(); + (extension as FeedServerInterface).init(DataBase.readOnly()); }); m_extensions.extension_removed.connect((info, extension) => { diff --git a/src/Backend/FeedServerInterface.vala b/src/Backend/FeedServerInterface.vala index c8a8baf3..47d33ff0 100644 --- a/src/Backend/FeedServerInterface.vala +++ b/src/Backend/FeedServerInterface.vala @@ -21,7 +21,7 @@ public interface FeedReader.FeedServerInterface : GLib.Object { public signal void showArticleListOverlay(); public signal void writeArticles(Gee.List
articles); - public abstract void init(); + public abstract void init(DataBaseReadOnly db); public abstract bool supportTags(); -- cgit v1.2.3