FmFile

FmFile — Extensions for GFile interface.

Synopsis

                    FmFile;
struct              FmFileInitTable;
struct              FmFileInterface;
void                fm_file_add_vfs                     (const char *name,
                                                         FmFileInitTable *init);
GFile *             fm_file_new_for_commandline_arg     (const char *arg);
GFile *             fm_file_new_for_uri                 (const char *uri);
gboolean            fm_file_wants_incremental           (GFile *file);

Object Hierarchy

  GInterface
   +----FmFile

Prerequisites

FmFile requires GFile and GObject.

Description

include: libfm/fm-file.h

The FmFile represents interface to build extensions to GFile which will handle schemas that are absent in Glib/GVFS - such as "search:".

To use it the GFile implementation should also implement FmFile vtable calls. The implementation should be added to list of known schemes via call to fm_file_add_vfs() then calls such as fm_file_new_for_uri() can use it.

Details

FmFile

typedef struct _FmFile FmFile;

struct FmFileInitTable

struct FmFileInitTable {
    GFile * (*new_for_uri)(const char *uri);
};

Functions to initialize FmFile instance.

new_for_uri ()

function to create new GFile object from URI

struct FmFileInterface

struct FmFileInterface {
    gboolean (*wants_incremental)(GFile* file);
};

wants_incremental ()

VTable func, see fm_file_wants_incremental()

fm_file_add_vfs ()

void                fm_file_add_vfs                     (const char *name,
                                                         FmFileInitTable *init);

Adds VFS to list of extensions that will be applied on next call to fm_file_new_for_uri() or fm_file_new_for_commandline_arg(). The name is a schema which will be handled by those calls.

name :

scheme to act upon

init :

table of functions

Since 1.0.2


fm_file_new_for_commandline_arg ()

GFile *             fm_file_new_for_commandline_arg     (const char *arg);

Creates a GFile with the given argument from the command line. The value of arg can be either a URI, an absolute path or a relative path resolved relative to the current working directory. This operation never fails, but the returned object might not support any I/O operation if arg points to a malformed path.

arg :

a command line string

Returns :

a new GFile.

Since 1.0.2


fm_file_new_for_uri ()

GFile *             fm_file_new_for_uri                 (const char *uri);

Constructs a GFile for a given URI. This operation never fails, but the returned object might not support any I/O operation if uri is malformed or if the uri type is not supported.

uri :

a UTF8 string containing a URI

Returns :

a new GFile.

Since 1.0.2


fm_file_wants_incremental ()

gboolean            fm_file_wants_incremental           (GFile *file);

Checks if contents of directory file cannot be retrieved at once so scanning it may be done in incremental manner for the best results.

file :

file to inspect

Returns :

TRUE if retrieve of contents of file will be incremental.

Since 1.0.2