LomoEMArtBackend

LomoEMArtBackend — Pluggable backends for art discovery

Synopsis

                    LomoEMArtBackend;
                    LomoEMArtBackendClass;
void                (*LomoEMArtBackendFunc)             (LomoEMArtBackend *backend,
                                                         LomoEMArtSearch *search,
                                                         gpointer backend_data);
void                lomo_em_art_backend_cancel          (LomoEMArtBackend *backend,
                                                         LomoEMArtSearch *search);
void                lomo_em_art_backend_finish          (LomoEMArtBackend *backend,
                                                         LomoEMArtSearch *search);
const gchar *       lomo_em_art_backend_get_name        (LomoEMArtBackend *backend);
LomoEMArtBackend *  lomo_em_art_backend_new             (const gchar *name,
                                                         LomoEMArtBackendFunc search,
                                                         LomoEMArtBackendFunc cancel,
                                                         GDestroyNotify notify,
                                                         gpointer backend_data);
void                lomo_em_art_backend_run             (LomoEMArtBackend *backend,
                                                         LomoEMArtSearch *search);

Object Hierarchy

  GObject
   +----LomoEMArtBackend

Signals

  "finish"                                         : Run Last

Description

LomoEMArtBackend is the way to enable alternative art discovery (searching in internet, hard-disk, tunesdb?). LomoEMArtBackend handles LomoEMArtSearch objects not LomoStream or URIs

Details

LomoEMArtBackend

typedef struct _LomoEMArtBackend LomoEMArtBackend;

LomoEMArtBackendClass

typedef struct {
} LomoEMArtBackendClass;

LomoEMArtBackendFunc ()

void                (*LomoEMArtBackendFunc)             (LomoEMArtBackend *backend,
                                                         LomoEMArtSearch *search,
                                                         gpointer backend_data);

lomo_em_art_backend_cancel ()

void                lomo_em_art_backend_cancel          (LomoEMArtBackend *backend,
                                                         LomoEMArtSearch *search);

Cancels running search in backend. This will call cancel function from backend

backend :

An LomoEMArtBackend

search :

An LomoEMArtSearch

lomo_em_art_backend_finish ()

void                lomo_em_art_backend_finish          (LomoEMArtBackend *backend,
                                                         LomoEMArtSearch *search);

Finalizes the seach in backend, this function had to be called after the search function from backend has do they job. If LomoEMArtSearch has result it will be passed to LomoEMArt object to be dispached, otherwise the next backend will try to find art data.

backend :

An LomoEMArtBackend

search :

An LomoEMArtBackend

lomo_em_art_backend_get_name ()

const gchar *       lomo_em_art_backend_get_name        (LomoEMArtBackend *backend);

Gets the name of the backend

backend :

An LomoEMArtBackend

Returns :

The name

lomo_em_art_backend_new ()

LomoEMArtBackend *  lomo_em_art_backend_new             (const gchar *name,
                                                         LomoEMArtBackendFunc search,
                                                         LomoEMArtBackendFunc cancel,
                                                         GDestroyNotify notify,
                                                         gpointer backend_data);

name :

A (unique) name for the backend

search :

Function to search art data

cancel :

Function to cancel a running search

notify :

Destroy notify function to free backend_data

backend_data :

Specific backend data (like userdata)

Returns :

The backend

lomo_em_art_backend_run ()

void                lomo_em_art_backend_run             (LomoEMArtBackend *backend,
                                                         LomoEMArtSearch *search);

Runs search in backend. This will call search function from backend

backend :

An LomoEMArtBackend

search :

An LomoEMArtSearch

Signal Details

The "finish" signal

void                user_function                      (LomoEMArtBackend *backend,
                                                        gpointer          search,
                                                        gpointer          user_data)      : Run Last

Emitted after the search has beed finalized. This signal is mean to be handled by LomoEMArt not for direct use.

backend :

The LomoEMArtBackend

search :

The finished LomoEMArtSearch

user_data :

user data set when the signal handler was connected.