示例#1
0
static void
test_empty_source (void)
{
  task_cnt++;
  OlMetadata *metadata = ol_metadata_new ();
  ol_metadata_set_title (metadata, "empty");
  OlLyricSourceSearchTask *task = ol_lyric_source_search (source,
                                                          metadata,
                                                          NULL);
  g_signal_connect (G_OBJECT (task),
                    "complete",
                    (GCallback) search_complete_cb,
                    (gpointer)OL_LYRIC_SOURCE_STATUS_FALIURE);
  g_signal_connect (G_OBJECT (task),
                    "started",
                    (GCallback) search_started_cb,
                    NULL);
  ol_lyric_source_task_cancel (OL_LYRIC_SOURCE_TASK (task));
  ol_metadata_free (metadata);
}
示例#2
0
static void
test_search (void)
{
  task_cnt++;
  OlMetadata *metadata = ol_metadata_new ();
  ol_metadata_set_title (metadata, "虫儿飞");
  GList *ids = get_default_sourcid_list ();
  OlLyricSourceSearchTask *task = ol_lyric_source_search (source,
                                                          metadata,
                                                          ids);
  g_signal_connect (G_OBJECT (task),
                    "complete",
                    (GCallback) search_complete_cb,
                    (gpointer) OL_LYRIC_SOURCE_STATUS_SUCCESS);
  g_signal_connect (G_OBJECT (task),
                    "started",
                    (GCallback) search_started_cb,
                    NULL);
  ol_metadata_free (metadata);
  free_sourceid_list (ids);
}
示例#3
0
OlLyricSourceSearchTask *
ol_lyric_source_search_default (OlLyricSource *source,
                                OlMetadata *metadata)
{
  ol_assert_ret (OL_IS_LYRIC_SOURCE (source), NULL);
  OlLyricSourceSearchTask *task = NULL;
  GList *sources;
  GList *source_ids = NULL;
  sources = ol_lyric_source_list_sources (source);
  for (; sources; sources = g_list_delete_link (sources, sources))
  {
    OlLyricSourceInfo *info = sources->data;
    source_ids = g_list_prepend (source_ids,
                                 g_strdup (ol_lyric_source_info_get_id (info)));
    ol_lyric_source_info_free (info);
  }
  source_ids = g_list_reverse (source_ids);
  task = ol_lyric_source_search (source, metadata, source_ids);
  for (; source_ids; source_ids = g_list_delete_link (source_ids, source_ids))
  {
    g_free (source_ids->data);
  }
  return task;
}