GoaProviderFactory

GoaProviderFactory — Abstract base class for provider factories

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GoaProviderFactory

Description

GoaProviderFactory implementations are used to dynamically create GoaProvider instances.

Functions

goa_provider_factory_get_provider ()

GoaProvider *
goa_provider_factory_get_provider (GoaProviderFactory *factory,
                                   const gchar *provider_name);

Create a dynamic GoaProvider for the subclass-specific provider_name .

Parameters

factory

A GoaProviderFactory.

 

provider_name

A provider type identifier (ie. IM protocol names in GoaTelepathyFactory)

 

Returns

A GoaProvider (that must be freed with g_object_unref()) or NULL if not found.

[transfer full]


goa_provider_factory_get_providers ()

void
goa_provider_factory_get_providers (GoaProviderFactory *factory,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Get asynchronously a list of GoaProvider instances handled by factory .

When the result is ready, callback will be called in the the thread-default main loop this function was called from. You can then call goa_provider_factory_get_providers_finish() to get the result of the operation.

This is a virtual method that must be implemented by subclasses.

Parameters

factory

A GoaProviderFactory.

 

callback

The function to call when the request is satisfied.

 

user_data

Pointer to pass to callback .

 

goa_provider_factory_get_providers_finish ()

gboolean
goa_provider_factory_get_providers_finish
                               (GoaProviderFactory *factory,
                                GList **out_providers,
                                GAsyncResult *result,
                                GError **error);

Finishes an operation started with goa_provider_factory_get_providers()

This is a virtual method that subclasses may implement. The default implementation is suitable for GSimpleAsyncResult an implementation of goa_provider_factory_get_providers() using GSimpleAsyncResult.

Parameters

factory

A GoaProviderFactory.

 

out_providers

Return location for a list of GoaProvider instances handled by factory .

[out]

result

A GAsyncResult obtained from the GAsyncReadyCallback passed to goa_provider_factory_get_providers().

 

error

Return location for error or NULL.

 

Returns

TRUE if the list was successfully retrieved, FALSE if error is set.

Types and Values

struct GoaProviderFactory

struct GoaProviderFactory;

The GoaProviderFactory structure contains only private data and should only be accessed using the provided API.


struct GoaProviderFactoryClass

struct GoaProviderFactoryClass {
  GObjectClass parent_class;

  /* Mandatory to implement. */
  GoaProvider *(*get_provider)              (GoaProviderFactory    *factory,
                                             const gchar           *provider_name);

  /* The async method is mandatory to implement, but _finish has a default
   * implementation suitable for a GSimpleAsyncResult. */
  void         (*get_providers)             (GoaProviderFactory    *factory,
                                             GAsyncReadyCallback    callback,
                                             gpointer               user_data);
  gboolean     (*get_providers_finish)      (GoaProviderFactory    *factory,
                                             GList                **out_providers,
                                             GAsyncResult          *result,
                                             GError               **error);
};

Class structure for GoaProviderFactory.

Members

GObjectClass parent_class;

The parent class.

 

get_provider ()

Virtual function for goa_provider_factory_get_provider().

 

get_providers ()

Virtual function for goa_provider_factory_get_providers().

 

get_providers_finish ()

Virtual function for goa_provider_factory_get_providers_finish().

 

GOA_PROVIDER_FACTORY_EXTENSION_POINT_NAME

#define GOA_PROVIDER_FACTORY_EXTENSION_POINT_NAME "goa-backend-provider-factory"

Extension point for GoaProviderFactory implementations.