### Class

# EBackend ServerSideSource

since: 3.6

#### Description [src]

    class EBackend.ServerSideSource : EDataServer.Source
      implements Gio.Initable, Gio.ProxyResolver {
      /* No available fields */
    }

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

Available since: 3.6

#### Hierarchy

#### Ancestors

- ESource
- GObject

#### Implements

- GInitable
- GProxyResolver

#### Constructors

###### e_server_side_source_new

Creates a new `EServerSideSource` which belongs to `server`. If `file` is non-`NULL` and points to an existing file, the `EServerSideSource` is initialized from the file content. If a read error occurs or the file contains syntax errors, the function sets `error` and returns `NULL`.

since: 3.6

###### e_server_side_source_new_memory_only

Creates a memory-only `EServerSideSource` which belongs to `server`. No on-disk key file is created for this data source, so it will not be remembered across sessions.

since: 3.6

#### Functions

###### e_server_side_source_get_user_dir

Returns the directory where user-specific data source files are stored.

since: 3.6

###### e_server_side_source_new_user_file

Generates a unique file name for a new user-specific data source. If `uid` is non-`NULL` it will be used in the basename of the file, otherwise a unique basename will be generated using e_util_generate_uid().

since: 3.6

###### e_server_side_source_uid_from_file

Extracts a unique identity string from the base name of `file`. If the base name of `file` is missing a ‘.source’ extension, the function sets `error` and returns `NULL`.

since: 3.6

#### Instance methods

###### e_server_side_source_get_exported

Returns whether `source` has been exported over D-Bus.

since: 3.6

###### e_server_side_source_get_file

Returns the `GFile` from which data source content is loaded and to which changes are saved. Note the `source` may not have a `GFile`.

since: 3.6

###### e_server_side_source_get_node

Returns the `GNode` representing the `source`‘s hierarchical placement, or `NULL` if `source` has not been placed in the data source hierarchy. The data member of the `GNode` points back to `source`. This is an easy way to traverse ancestor and descendant data sources.

since: 3.6

###### e_server_side_source_get_server

Returns the `ESourceRegistryServer` to which `source` belongs.

since: 3.6

###### e_server_side_source_get_write_directory

Returns the local directory path where changes to `source` are written.

since: 3.6

###### e_server_side_source_load

Reloads data source content from the file pointed to by the `EServerSideSource:file` property.

since: 3.6

###### e_server_side_source_ref_oauth2_support

Returns the object implementing the `EOAuth2SupportInterface`, or `NULL` if `source` does not support OAuth 2.0 authentication.

since: 3.8

###### e_server_side_source_set_oauth2_support

Indicates whether `source` supports OAuth 2.0 authentication.

since: 3.8

###### e_server_side_source_set_remote_creatable

Indicates whether `source` can be used to create resources on a remote server. Typically this is only set to `TRUE` for collection sources.

since: 3.6

###### e_server_side_source_set_remote_deletable

Indicates whether `source` can be used to delete resources on a remote server. Typically this is only set to `TRUE` for sources created by an `ECollectionBackend` to represent a remote resource.

since: 3.6

###### e_server_side_source_set_removable

Sets whether to allow registry clients to remove `source` and its descendants. If `TRUE`, the Removable D-Bus interface is exported at the object path for `source`. If `FALSE`, the Removable D-Bus interface is unexported at the object path for `source`, and any attempt by clients to call `e_source_remove()` will fail.

since: 3.6

###### e_server_side_source_set_writable

Sets whether to allow registry clients to alter the content of `source`. If `TRUE`, the Writable D-Bus interface is exported at the object path for `source`. If `FALSE`, the Writable D-Bus interface is unexported at the object path for `source`, and any attempt by clients to call `e_source_write()` will fail.

since: 3.6

###### e_server_side_source_set_write_directory

Sets the local directory path where changes to `source` are to be written.

since: 3.6

##### Methods inherited from ESource (80)

Please see ESource for a full list of methods.

##### 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.

##### Methods inherited from GProxyResolver (4)

###### g_proxy_resolver_is_supported

Checks if `resolver` can be used on this system. (This is used internally; `g_proxy_resolver_get_default()` will only return a proxy resolver that returns `TRUE` for this method.).

###### g_proxy_resolver_lookup

Looks into the system proxy configuration to determine what proxy, if any, to use to connect to `uri`. The returned proxy URIs are of the form `<protocol>://[user[:password]@]host[:port]` or `direct://`, where `<protocol>` could be http, rtsp, socks or other proxying protocol.

###### g_proxy_resolver_lookup_async

Asynchronous lookup of proxy. See `g_proxy_resolver_lookup()` for more details.

###### g_proxy_resolver_lookup_finish

Call this function to obtain the array of proxy URIs when `g_proxy_resolver_lookup_async()` is complete. See `g_proxy_resolver_lookup()` for more details.

#### Properties

###### EBackend.ServerSideSource:exported

Whether the source has been exported over D-Bus.

###### EBackend.ServerSideSource:file

The key file for the data source.

###### EBackend.ServerSideSource:oauth2-support

The object providing OAuth 2.0 support.

###### EBackend.ServerSideSource:remote-creatable

Whether the data source can create remote resources.

###### EBackend.ServerSideSource:remote-deletable

Whether the data source can delete remote resources.

###### EBackend.ServerSideSource:removable

Whether the data source is removable.

###### EBackend.ServerSideSource:server

The server to which the data source belongs.

###### EBackend.ServerSideSource:writable

Whether the data source is writable.

###### EBackend.ServerSideSource:write-directory

Directory in which to write changes to disk.

##### Properties inherited from ESource (11)

###### EDataServer.Source:connection-status

Connection status of the source.

###### EDataServer.Source:dbus-object

The D-Bus object for the data source.

###### EDataServer.Source:display-name

The human-readable name of the data source.

###### EDataServer.Source:enabled

Whether the data source is enabled.

###### EDataServer.Source:main-context

The main loop context on which to attach event sources.

###### EDataServer.Source:parent

The unique identity of the parent data source.

###### EDataServer.Source:remote-creatable

Whether the data source can create remote resources.

###### EDataServer.Source:remote-deletable

Whether the data source can delete remote resources.

###### EDataServer.Source:removable

Whether the data source is removable.

###### EDataServer.Source:uid

The unique identity of the data source.

###### EDataServer.Source:writable

Whether the data source is writable.

#### Signals

##### Signals inherited from ESource (3)

###### ESource::authenticate

Let’s the backend know provided credentials to use to login to (possibly remote) data store.

###### ESource::changed

The ::changed signal is emitted when a property in `source` or one of its extension objects changes. A common use for this signal is to notify a `GtkTreeModel` containing data collected from `ESource`s that it needs to update a row.

###### ESource::credentials-required

The ::credentials-required signal is emitted when the `source` requires credentials to connect to (possibly remote) data store. The credentials can be passed to the backend using `e_source_invoke_authenticate()` function.

##### 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 EBackendServerSideSourceClass {
      ESourceClass parent_class;

    }

No description available.

###### Class members

`parent_class: ESourceClass`

  No description available.