gboolean liferea_dbus_refresh (LifereaDBus *self, gboolean *ret, GError **err) { node_update_subscription (feedlist_get_root (), GUINT_TO_POINTER (0)); *ret = TRUE; return TRUE; }
static void do_menu_update (nodePtr node) { if (network_monitor_is_online ()) node_update_subscription (node, GUINT_TO_POINTER (FEED_REQ_PRIORITY_HIGH)); else liferea_shell_set_status_bar (_("Liferea is in offline mode. No update possible.")); }
static void feedlist_init (FeedList *fl) { gint startup_feed_action; debug_enter ("feedlist_init"); /* 1. Prepare globally accessible singleton */ g_assert (NULL == feedlist); feedlist = fl; feedlist->priv = FEEDLIST_GET_PRIVATE (fl); feedlist->priv->loading = TRUE; /* 2. Set up a root node and import the feed list source structure. */ debug0 (DEBUG_CACHE, "Setting up root node"); ROOTNODE = node_source_setup_root (); /* 3. Ensure folder expansion and unread count*/ debug0 (DEBUG_CACHE, "Initializing node state"); feedlist_foreach (feedlist_init_node); ui_tray_update (); /* 4. Check if feeds do need updating. */ debug0 (DEBUG_UPDATE, "Performing initial feed update"); conf_get_int_value (STARTUP_FEED_ACTION, &startup_feed_action); if (0 == startup_feed_action) { /* Update all feeds */ if (network_monitor_is_online ()) { debug0 (DEBUG_UPDATE, "initial update: updating all feeds"); node_update_subscription (feedlist_get_root (), GUINT_TO_POINTER (0)); } else { debug0 (DEBUG_UPDATE, "initial update: prevented because we are offline"); } } else { debug0 (DEBUG_UPDATE, "initial update: resetting feed counter"); feedlist_reset_update_counters (NULL); } /* 5. Start automatic updating */ feedlist->priv->autoUpdateTimer = g_timeout_add_seconds (10, feedlist_auto_update, NULL); g_signal_connect (network_monitor_get (), "online-status-changed", G_CALLBACK (on_network_status_changed), NULL); /* 6. Finally save the new feed list state */ feedlist->priv->loading = FALSE; feedlist_schedule_save (); debug_exit ("feedlist_init"); }