BaulInfoProvider: Baul Extension Reference Manual

## BaulInfoProvider BaulInfoProvider — Interface to provide additional information about files |

## Functions

void | (*BaulInfoProviderUpdateComplete) ()
BaulOperationResult | baul_info_provider_update_file_info ()
void | baul_info_provider_cancel_update ()
void | baul_info_provider_update_complete_invoke ()

## Types and Values

| BaulInfoProvider
struct | BaulInfoProviderIface

## Object Hierarchy

        GInterface
        ╰── BaulInfoProvider

## Prerequisites

BaulInfoProvider requires GObject.

## Includes

    #include <libbaul-extension/baul-column-provider.h>

## Description

BaulInfoProvider allows extension to provide additional information about files. When `baul_info_provider_update_file_info()` is called by the application, extensions will know that it's time to add extra information to the provided BaulFileInfo.

## Functions

### BaulInfoProviderUpdateComplete ()

    void
    (*BaulInfoProviderUpdateComplete) (BaulInfoProvider *provider,
                                       BaulOperationHandle *handle,
                                       BaulOperationResult result,
                                       gpointer user_data);

### baul_info_provider_update_file_info ()

    BaulOperationResult
    baul_info_provider_update_file_info (BaulInfoProvider *provider,
                                         BaulFileInfo *file,
                                         GClosure *update_complete,
                                         BaulOperationHandle **handle);

### baul_info_provider_cancel_update ()

    void
    baul_info_provider_cancel_update (BaulInfoProvider *provider,
                                      BaulOperationHandle *handle);

### baul_info_provider_update_complete_invoke ()

    void
    baul_info_provider_update_complete_invoke
                                   (GClosure *update_complete,
                                    BaulInfoProvider *provider,
                                    BaulOperationHandle *handle,
                                    BaulOperationResult result);

## Types and Values

### BaulInfoProvider

    typedef struct _BaulInfoProvider BaulInfoProvider;

### struct BaulInfoProviderIface

    struct BaulInfoProviderIface {
        GTypeInterface g_iface;

        BaulOperationResult (*update_file_info) (BaulInfoProvider     *provider,
                                                 BaulFileInfo         *file,
                                                 GClosure             *update_complete,
                                                 BaulOperationHandle **handle);
        void                (*cancel_update)    (BaulInfoProvider     *provider,
                                                 BaulOperationHandle  *handle);
    };

Interface for extensions to provide additional information about files.

#### Members

`update_file_info` () | Returns a BaulOperationResult. See `baul_info_provider_update_file_info()` for details. |
`cancel_update` () | Cancels a previous call to `baul_info_provider_update_file_info()`. See `baul_info_provider_cancel_update()` for details. |