## ESourceBackend ESourceBackend — Base class for backend-based data sources |

## Functions

const gchar * | e_source_backend_get_backend_name ()
gchar * | e_source_backend_dup_backend_name ()
void | e_source_backend_set_backend_name ()

## Types and Values

struct | ESourceBackend
struct | ESourceBackendClass

## Includes

    #include <libedataserver/libedataserver.h>

## Description

ESourceBackend is an abstract base class for data sources requiring an associated backend to function. The extension merely records the name of the backend the data source should be paired with.

## Functions

### e_source_backend_get_backend_name ()

    const gchar *
    e_source_backend_get_backend_name (ESourceBackend *extension);

Returns the backend name for `extension` .

#### Parameters

extension | an ESourceBackend |

#### Returns

the backend name for `extension`

Since 3.6

### e_source_backend_dup_backend_name ()

    gchar *
    e_source_backend_dup_backend_name (ESourceBackend *extension);

Thread-safe variation of `e_source_backend_get_backend_name()`. Use this function when accessing `extension` from multiple threads.

The returned string should be freed with `g_free()` when no longer needed.

#### Parameters

extension | an ESourceBackend |

#### Returns

a newly-allocated copy of “backend-name”

Since 3.6

### e_source_backend_set_backend_name ()

    void
    e_source_backend_set_backend_name (ESourceBackend *extension,
                                       const gchar *backend_name);

Sets the backend name for `extension` .

The internal copy of `backend_name` is automatically stripped of leading and trailing whitespace. If the resulting string is empty, `NULL` is set instead.

#### Parameters

extension | an ESourceBackend |
backend_name | a backend name, or `NULL`. | [allow-none]

Since 3.6

## Types and Values

### struct ESourceBackend

    struct ESourceBackend {
    	ESourceExtension parent;
    	ESourceBackendPrivate *priv;
    };

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

Since 3.6

### struct ESourceBackendClass

    struct ESourceBackendClass {
    	ESourceExtensionClass parent_class;
    };