## ThunarxRenamerProvider

ThunarxRenamerProvider — The interface to extensions that provide additional bulk renamers

## Synopsis

    #include <thunarx/thunarx.h>

                        ThunarxRenamerProvider;
                        ThunarxRenamerProviderIface;
    GList *             thunarx_renamer_provider_get_renamers
                                                            (ThunarxRenamerProvider *provider);

## Object Hierarchy

      GInterface
       +----ThunarxRenamerProvider

## Prerequisites

ThunarxRenamerProvider requires GObject.

## Description

The ThunarxRenamerProvider interface is implemented by extensions which provide additional bulk renamers that should be used by the bulk rename dialog in Thunar.

## Details

### ThunarxRenamerProvider

    typedef struct _ThunarxRenamerProvider ThunarxRenamerProvider;

Bulk renamer provider type.

### ThunarxRenamerProviderIface

    typedef struct {
      GList *(*get_renamers) (ThunarxRenamerProvider *provider);
    } ThunarxRenamerProviderIface;

Interface with virtual methods implemented by extensions that provide additional bulk renamers for the integrated bulk renamer in Thunar.

`get_renamers` () | see `thunarx_renamer_provider_get_renamers()`.

### thunarx_renamer_provider_get_renamers ()

    GList *             thunarx_renamer_provider_get_renamers
                                                            (ThunarxRenamerProvider *provider);

Returns the list of ThunarxRenamers provided by the specified `provider`.

The real implementation of this method MUST return the ThunarxRenamers with floating references (the default for `g_object_new()` on GtkWidget derived types).

The returned ThunarxRenamers will be reffed and sinked automatically by this function.

As a special note, this method automatically takes a reference on the `provider` for every ThunarxRenamer returned from the real implementation of this method in `provider`. This is to make sure that the extension stays in memory for atleast the time that the renamers are used. If the extension wants to stay in memory for a longer time, it'll need to take care of this itself (e.g. by taking an additional reference on the `provider` itself, that's released at a later time).

The caller is responsible to free the returned list of renamers using something like this when no longer needed:

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

`provider` : | a ThunarxRenamerProvider.
Returns : | the list of ThunarxRenamers provided by the specified `provider`.

## See Also

The description of the abstract base class ThunarxRenamer.