### Class

# EBackend SubprocessFactory

since: 3.16

#### Description [src]

    class EBackend.SubprocessFactory : GObject.Object
      implements Gio.Initable {
      /* No available fields */
    }

Contains only private data that should be read and manipulated using the functions below.

Available since: 3.16

#### Hierarchy

#### Ancestors

- GObject

#### Implements

- GInitable

#### Functions

###### e_subprocess_factory_construct_path

Returns a new and unique object path for a D-Bus interface based in the data object path prefix of the `subprocess_factory`.

since: 3.16

#### Instance methods

###### e_subprocess_factory_call_backends_prepare_shutdown

Calls `e_backend_prepare_shutdown()` for the list of used backends.

since: 3.16

###### e_subprocess_factory_get_backends_list

Returns a list of used backends.

since: 3.16

###### e_subprocess_factory_get_registry

Returns the `ESourceRegistry` owned by `subprocess_factory`.

since: 3.16

###### e_subprocess_factory_open_backend

Returns the `EBackend` data D-Bus object path.

since: 3.16

###### e_subprocess_factory_ref_initable_backend

Returns either a newly-created or existing `EBackend` for `ESource`. The returned `EBackend` is referenced for thread-safety and must be unreferenced with `g_object_unref()` when finished with it.

since: 3.16

###### e_subprocess_factory_set_backend_callbacks

Installs a toggle reference on the backend, that can receive a signal to shutdown once all client connections are closed.

since: 3.16

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

#### Properties

###### EBackend.SubprocessFactory:registry

Data source registry.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct EBackendSubprocessFactoryClass {
      GObjectClass parent_class;
      EBackend* (* ref_backend) (
        ESourceRegistry* registry,
        ESource* source,
        const gchar* backend_factory_type_name
      );
      gchar* (* open_data) (
        ESubprocessFactory* subprocess_factory,
        EBackend* backend,
        GDBusConnection* connection,
        gpointer data,
        GCancellable* cancellable,
        GError** error
      );
      void (* backend_created) (
        ESubprocessFactory* subprocess_factory,
        EBackend* backend
      );
      void (* backend_closed) (
        ESubprocessFactory* subprocess_factory,
        EBackend* backend
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`ref_backend: EBackend* (* ref_backend) ( ESourceRegistry* registry, ESource* source, const gchar* backend_factory_type_name )`

  No description available.

`open_data: gchar* (* open_data) ( ESubprocessFactory* subprocess_factory, EBackend* backend, GDBusConnection* connection, gpointer data, GCancellable* cancellable, GError** error )`

  No description available.

`backend_created: void (* backend_created) ( ESubprocessFactory* subprocess_factory, EBackend* backend )`

  No description available.

`backend_closed: void (* backend_closed) ( ESubprocessFactory* subprocess_factory, EBackend* backend )`

  No description available.

#### Virtual methods

###### EBackend.SubprocessFactoryClass.backend_closed

No description available.

###### EBackend.SubprocessFactoryClass.backend_created

No description available.

###### EBackend.SubprocessFactoryClass.open_data

No description available.