StoragedThreadedJob

StoragedThreadedJob — Job that runs in a thread

Functions

Properties

gpointer job-func Read / Write / Construct Only
gpointer user-data Read / Write / Construct Only
gpointer user-data-free-func Read / Write / Construct Only

Signals

gboolean threaded-job-completed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GDBusInterfaceSkeleton
        ╰── StoragedJobSkeleton
            ╰── StoragedBaseJob
                ╰── StoragedThreadedJob

Implemented Interfaces

StoragedThreadedJob implements GDBusInterface and StoragedJob.

Description

This type provides an implementation of the StoragedJob interface for jobs that run in a thread.

Functions

StoragedThreadedJobFunc ()

gboolean
(*StoragedThreadedJobFunc) (StoragedThreadedJob *job,
                            GCancellable *cancellable,
                            gpointer user_data,
                            GError **error);

Job function that runs in a separate thread.

Long-running jobs should periodically check cancellable to see if they have been cancelled.

Parameters

job

A StoragedThreadedJob.

 

cancellable

A GCancellable (never NULL).

 

user_data

User data passed when creating job .

 

error

Return location for error (never NULL).

 

Returns

TRUE if the job succeeded, FALSE if error is set.


storaged_threaded_job_new ()

StoragedThreadedJob *
storaged_threaded_job_new (StoragedThreadedJobFunc job_func,
                           gpointer user_data,
                           GDestroyNotify user_data_free_func,
                           StoragedDaemon *daemon,
                           GCancellable *cancellable);

Creates a new StoragedThreadedJob instance.

The job is started immediately - connect to the “threaded-job-completed” or “completed” signals to get notified when the job is done.

Parameters

job_func

The function to run in another thread.

 

user_data

User data to pass to job_func .

 

user_data_free_func

Function to free user_data with or NULL.

 

daemon

A StoragedDaemon.

 

cancellable

A GCancellable or NULL.

 

Returns

A new StoragedThreadedJob. Free with g_object_unref().


storaged_threaded_job_get_user_data ()

gpointer
storaged_threaded_job_get_user_data (StoragedThreadedJob *job);

Gets the user_data parameter that job was constructed with.

Parameters

Returns

A gpointer owned by job .

Types and Values

StoragedThreadedJob

typedef struct _StoragedThreadedJob StoragedThreadedJob;

The StoragedThreadedJob structure contains only private data and should only be accessed using the provided API.

Property Details

The “job-func” property

  “job-func”                 gpointer

The StoragedThreadedJobFunc to use.

Flags: Read / Write / Construct Only


The “user-data” property

  “user-data”                gpointer

User data for the StoragedThreadedJobFunc.

Flags: Read / Write / Construct Only


The “user-data-free-func” property

  “user-data-free-func”      gpointer

Free function for user data for the StoragedThreadedJobFunc.

Flags: Read / Write / Construct Only

Signal Details

The “threaded-job-completed” signal

gboolean
user_function (StoragedThreadedJob *job,
               gboolean             result,
               GError              *error,
               gpointer             user_data)

Emitted when the threaded job is complete.

The default implementation simply emits the “completed” signal with success set to TRUE if, and only if, error is NULL. Otherwise, message on that signal is set to a string describing error . You can avoid the default implementation by returning TRUE from your signal handler.

This signal is emitted in the

thread-default main loop

of the thread that job was created in.

Parameters

job

The StoragedThreadedJob emitting the signal.

 

result

The gboolean returned by the StoragedThreadedJobFunc.

 

error

The GError set by the StoragedThreadedJobFunc.

 

user_data

user data set when the signal handler was connected.

 

Returns

TRUE if the signal was handled, FALSE to let other handlers run.

Flags: Run Last