## fm-file-launcher

fm-file-launcher

## Synopsis

    struct              FmFileLauncher;
    gboolean            (*FmLaunchFolderFunc)               (GAppLaunchContext *ctx,
                                                             GList *folder_infos,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            fm_launch_desktop_entry             (GAppLaunchContext *ctx,
                                                             const char *file_or_id,
                                                             GList *uris,
                                                             FmFileLauncher *launcher,
                                                             gpointer user_data);
    gboolean            fm_launch_files                     (GAppLaunchContext *ctx,
                                                             GList *file_infos,
                                                             FmFileLauncher *launcher,
                                                             gpointer user_data);
    gboolean            fm_launch_paths                     (GAppLaunchContext *ctx,
                                                             GList *paths,
                                                             FmFileLauncher *launcher,
                                                             gpointer user_data);

## Description

## Details

### struct FmFileLauncher

    struct FmFileLauncher {
        GAppInfo* (*get_app)(GList* file_infos, FmMimeType* mime_type, gpointer user_data, GError** err);
        /* gboolean (*before_open)(GAppLaunchContext* ctx, GList* folder_infos, gpointer user_data); */
        gboolean (*open_folder)(GAppLaunchContext* ctx, GList* folder_infos, gpointer user_data, GError** err);
        FmFileLauncherExecAction (*exec_file)(FmFileInfo* file, gpointer user_data);
        gboolean (*error)(GAppLaunchContext* ctx, GError* err, gpointer user_data);
        int (*ask)(const char* msg, const char** btn_labels, int default_btn, gpointer user_data);
    };

### FmLaunchFolderFunc ()

    gboolean            (*FmLaunchFolderFunc)               (GAppLaunchContext *ctx,
                                                             GList *folder_infos,
                                                             gpointer user_data,
                                                             GError **err);

### fm_launch_desktop_entry ()

    gboolean            fm_launch_desktop_entry             (GAppLaunchContext *ctx,
                                                             const char *file_or_id,
                                                             GList *uris,
                                                             FmFileLauncher *launcher,
                                                             gpointer user_data);

### fm_launch_files ()

    gboolean            fm_launch_files                     (GAppLaunchContext *ctx,
                                                             GList *file_infos,
                                                             FmFileLauncher *launcher,
                                                             gpointer user_data);

### fm_launch_paths ()

    gboolean            fm_launch_paths                     (GAppLaunchContext *ctx,
                                                             GList *paths,
                                                             FmFileLauncher *launcher,
                                                             gpointer user_data);