printers: Drop cups_get_jobs_async

pp_printer_get_jobs_async does the job with more modern GLib API
(GTask).

https://bugzilla.gnome.org/show_bug.cgi?id=779313
This commit is contained in:
Felipe Borges 2017-02-28 16:20:07 +01:00
parent 2ad93bc0b2
commit 1df4da54fc
2 changed files with 0 additions and 113 deletions

View file

@ -3624,109 +3624,6 @@ get_cups_devices_async (GCancellable *cancellable,
data); data);
} }
typedef struct
{
gchar *printer_name;
gboolean my_jobs;
gint which_jobs;
cups_job_t *jobs;
gint num_of_jobs;
CGJCallback callback;
gpointer user_data;
GMainContext *context;
} CGJData;
static gboolean
cups_get_jobs_idle_cb (gpointer user_data)
{
CGJData *data = (CGJData *) user_data;
data->callback (data->jobs,
data->num_of_jobs,
data->user_data);
return FALSE;
}
static void
cups_get_jobs_data_free (gpointer user_data)
{
CGJData *data = (CGJData *) user_data;
if (data->context)
g_main_context_unref (data->context);
g_free (data->printer_name);
g_free (data);
}
static void
cups_get_jobs_cb (gpointer user_data)
{
CGJData *data = (CGJData *) user_data;
GSource *idle_source;
idle_source = g_idle_source_new ();
g_source_set_callback (idle_source,
cups_get_jobs_idle_cb,
data,
cups_get_jobs_data_free);
g_source_attach (idle_source, data->context);
g_source_unref (idle_source);
}
static gpointer
cups_get_jobs_func (gpointer user_data)
{
CGJData *data = (CGJData *) user_data;
data->num_of_jobs = cupsGetJobs (&data->jobs,
data->printer_name,
data->my_jobs ? 1 : 0,
data->which_jobs);
cups_get_jobs_cb (data);
return NULL;
}
void
cups_get_jobs_async (const gchar *printer_name,
gboolean my_jobs,
gint which_jobs,
CGJCallback callback,
gpointer user_data)
{
CGJData *data;
GThread *thread;
GError *error = NULL;
data = g_new0 (CGJData, 1);
data->printer_name = g_strdup (printer_name);
data->my_jobs = my_jobs;
data->which_jobs = which_jobs;
data->callback = callback;
data->user_data = user_data;
data->context = g_main_context_ref_thread_default ();
thread = g_thread_try_new ("cups-get-jobs",
cups_get_jobs_func,
data,
&error);
if (!thread)
{
g_warning ("%s", error->message);
callback (NULL, 0, user_data);
g_error_free (error);
cups_get_jobs_data_free (data);
}
else
{
g_thread_unref (thread);
}
}
gchar * gchar *
guess_device_hostname (PpPrintDevice *device) guess_device_hostname (PpPrintDevice *device)
{ {

View file

@ -242,16 +242,6 @@ void printer_add_option_async (const gchar *printer_name,
PAOCallback callback, PAOCallback callback,
gpointer user_data); gpointer user_data);
typedef void (*CGJCallback) (cups_job_t *jobs,
gint num_of_jobs,
gpointer user_data);
void cups_get_jobs_async (const gchar *printer_name,
gboolean my_jobs,
gint which_jobs,
CGJCallback callback,
gpointer user_data);
void pp_devices_list_free (PpDevicesList *result); void pp_devices_list_free (PpDevicesList *result);
const gchar *get_page_size_from_locale (void); const gchar *get_page_size_from_locale (void);