示例#1
0
/** 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);
}
示例#2
0
/** 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);
}