/** Fill the cache with initial (current) data, setup listeners. */ void cli_cache_start (cli_infos_t *infos) { xmmsc_result_t *res; /* Setup async listeners */ res = xmmsc_broadcast_playlist_current_pos (infos->conn); xmmsc_result_notifier_set (res, &refresh_currpos, infos->cache); xmmsc_result_unref (res); res = xmmsc_broadcast_playback_current_id (infos->conn); xmmsc_result_notifier_set (res, &refresh_currid, infos->cache); xmmsc_result_unref (res); res = xmmsc_broadcast_playback_status (infos->conn); xmmsc_result_notifier_set (res, &refresh_playback_status, infos->cache); xmmsc_result_unref (res); res = xmmsc_broadcast_playlist_changed (infos->conn); xmmsc_result_notifier_set (res, &update_active_playlist, infos); xmmsc_result_unref (res); res = xmmsc_broadcast_playlist_loaded (infos->conn); xmmsc_result_notifier_set (res, &reload_active_playlist, infos); xmmsc_result_unref (res); res = xmmsc_broadcast_collection_changed (infos->conn); xmmsc_result_notifier_set (res, &update_active_playlist_name, infos); xmmsc_result_unref (res); /* Setup one-time value fetchers, for init */ cli_cache_refresh (infos); }
/** Fill the cache with initial (current) data, setup listeners. */ void cli_cache_start (cli_cache_t *cache, xmmsc_connection_t *conn) { xmmsc_result_t *res; g_return_if_fail (cache->conn == NULL); cache->conn = xmmsc_ref (conn); /* Setup async listeners */ res = xmmsc_broadcast_playlist_current_pos (conn); xmmsc_result_notifier_set (res, &refresh_currpos, cache); xmmsc_result_unref (res); res = xmmsc_broadcast_playback_current_id (conn); xmmsc_result_notifier_set (res, &refresh_currid, cache); xmmsc_result_unref (res); res = xmmsc_broadcast_playback_status (conn); xmmsc_result_notifier_set (res, &refresh_playback_status, cache); xmmsc_result_unref (res); res = xmmsc_broadcast_playlist_changed (conn); xmmsc_result_notifier_set (res, &update_active_playlist, cache); xmmsc_result_unref (res); res = xmmsc_broadcast_playlist_loaded (conn); xmmsc_result_notifier_set (res, &reload_active_playlist, cache); xmmsc_result_unref (res); res = xmmsc_broadcast_collection_changed (conn); xmmsc_result_notifier_set (res, &update_active_playlist_name, cache); xmmsc_result_unref (res); /* Setup one-time value fetchers, for init */ cli_cache_refresh (cache); }