## FolksBackend FolksBackend — A single backend to libfolks, such as Telepathy or evolution-data-server. Each backend provides FolksPersonas which are aggregated to form FolksIndividuals. |

## Types and Values

#define | FOLKS_TYPE_BACKEND
struct | FolksBackend
struct | FolksBackendClass

## Description

After creating a Backend instance, you must connect to the "persona-store-added" and "persona-store-removed" signals, then call ``folks_backend_prepare()``, otherwise a race condition may occur between emission of "persona-store-added" and your code connecting to it.

## Functions

## Types and Values

### FOLKS_TYPE_BACKEND

    #define FOLKS_TYPE_BACKEND (folks_backend_get_type ())

The type for FolksBackend.

### struct FolksBackend

    struct FolksBackend {
    	GObject parent_instance;
    	FolksBackendPrivate * priv;
    };

A single backend to libfolks, such as Telepathy or evolution-data-server. Each backend provides FolksPersonas which are aggregated to form FolksIndividuals.

After creating a Backend instance, you must connect to the "persona-store-added" and "persona-store-removed" signals, then call ``folks_backend_prepare()``, otherwise a race condition may occur between emission of "persona-store-added" and your code connecting to it.

### struct FolksBackendClass

    struct FolksBackendClass {
    	GObjectClass parent_class;
    	void (*disable_persona_store) (FolksBackend* self, FolksPersonaStore* store);
    	void (*enable_persona_store) (FolksBackend* self, FolksPersonaStore* store);
    	void (*set_persona_stores) (FolksBackend* self, GeeSet* storeids);
    	void (*prepare) (FolksBackend* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
    	void (*prepare_finish) (FolksBackend* self, GAsyncResult* _res_, GError** error);
    	void (*unprepare) (FolksBackend* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
    	void (*unprepare_finish) (FolksBackend* self, GAsyncResult* _res_, GError** error);
    	gboolean (*get_is_prepared) (FolksBackend* self);
    	gboolean (*get_is_quiescent) (FolksBackend* self);
    	const gchar* (*get_name) (FolksBackend* self);
    	GeeMap* (*get_persona_stores) (FolksBackend* self);
    };

The class structure for `FOLKS_TYPE_BACKEND`. All the fields in this structure are private and should never be accessed directly.

#### Members

`disable_persona_store` () | virtual method called by ``folks_backend_disable_persona_store()`` |
`enable_persona_store` () | virtual method called by ``folks_backend_enable_persona_store()`` |
`set_persona_stores` () | virtual method called by ``folks_backend_set_persona_stores()`` |
`prepare` () | virtual method called by ``folks_backend_prepare()`` |
`prepare_finish` () | asynchronous finish function for `prepare`, called by ``folks_backend_prepare()`` |
`unprepare` () | virtual method called by ``folks_backend_unprepare()`` |
`unprepare_finish` () | asynchronous finish function for `unprepare`, called by ``folks_backend_unprepare()`` |
`get_is_prepared` () | getter method for the abstract property "is-prepared" |
`get_is_quiescent` () | getter method for the abstract property "is-quiescent" |
`get_name` () | getter method for the abstract property "name" |
`get_persona_stores` () | getter method for the abstract property "persona-stores" |