コード例 #1
0
static void
pdf_load_job_from_uri (PdfLoadJob *job)
{
  GFile *file;
  const gchar *gdata_prefix = "google:drive:";
  const gchar *zpj_prefix = "windows-live:skydrive:";

  if (g_str_has_prefix (job->uri, gdata_prefix)) {
    job->resource_id = g_strdup (job->uri + strlen (gdata_prefix));
    pdf_load_job_from_gdata_cache (job);
    return;
  }

  if (g_str_has_prefix (job->uri, zpj_prefix)) {
    job->resource_id = g_strdup (job->uri + strlen (zpj_prefix));
    pdf_load_job_from_zpj_cache (job);
    return;
  }

  file = g_file_new_for_uri (job->uri);
  if (!g_file_is_native (file))
    pdf_load_job_from_remote_file (job);
  else
    pdf_load_job_from_regular_file (job);

  g_object_unref (file);
}
コード例 #2
0
static void
pdf_load_job_from_regular_file (PdfLoadJob *job)
{
  GFile *file;
  const gchar *zpj_prefix = "windows-live:skydrive:";

  if (g_str_has_prefix (job->uri, "https://docs.google.com")) {
    job->document_id = document_id_from_entry_id (job->uri);
    pdf_load_job_from_gdata_cache (job);
    return;
  }

  if (g_str_has_prefix (job->uri, zpj_prefix)) {
    job->document_id = g_strdup (job->uri + strlen (zpj_prefix));
    pdf_load_job_from_zpj_cache (job);
    return;
  }

  file = g_file_new_for_uri (job->uri);
  g_file_query_info_async (file,
                           G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
                           G_FILE_QUERY_INFO_NONE,
                           G_PRIORITY_DEFAULT,
                           job->cancellable,
                           query_info_ready_cb,
                           job);

  g_object_unref (file);
}