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); }
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); }