## ThunarxProviderFactory

ThunarxProviderFactory — The provider factory support for applications

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    #include <thunarx/thunarx.h>

                        ThunarxProviderFactory;
    ThunarxProviderFactory* thunarx_provider_factory_get_default
                                                            (void);
    GList*              thunarx_provider_factory_list_providers
                                                            (ThunarxProviderFactory *factory,
                                                             GType type);

## Object Hierarchy

      GObject
       +----ThunarxProviderFactory

## Description

The ThunarxProviderFactory class allows applications to use Thunar plugins. It handles the loading of the installed extensions and instantiates providers for the application. For example, Thunar uses this class to access the installed extensions.

## Details

### ThunarxProviderFactory

    typedef struct _ThunarxProviderFactory ThunarxProviderFactory;

The ThunarxProviderFactory struct contains only private data. It should only be accessed with the methods described below.

### thunarx_provider_factory_get_default ()

    ThunarxProviderFactory* thunarx_provider_factory_get_default
                                                            (void);

Returns a reference to the default ThunarxProviderFactory instance.

The caller is responsible to free the returned object using `g_object_unref()` when no longer needed.

Returns : | a reference to the default ThunarxProviderFactory instance.

### thunarx_provider_factory_list_providers ()

    GList*              thunarx_provider_factory_list_providers
                                                            (ThunarxProviderFactory *factory,
                                                             GType type);

Returns all providers of the given `type`.

The caller is responsible to release the returned list of providers using code like this:

    g_list_foreach (list, (GFunc) g_object_unref, NULL);
    g_list_free (list);

`factory` : | a ThunarxProviderFactory instance.
`type` : | the provider GType.
Returns : | the of providers for `type`.

## See Also

ThunarxMenuProvider, ThunarxPropertyPageProvider, ThunarxRenamerProvider