FmFileInfo

FmFileInfo — File information cache for libfm.

Functions

#define FM_FILE_INFO()
gboolean fm_file_info_can_set_hidden ()
gboolean fm_file_info_can_set_icon ()
gboolean fm_file_info_can_set_name ()
gboolean fm_file_info_can_thumbnail ()
time_t fm_file_info_get_atime ()
goffset fm_file_info_get_blocks ()
const char * fm_file_info_get_collate_key ()
const char * fm_file_info_get_collate_key_nocasefold ()
time_t fm_file_info_get_ctime ()
const char * fm_file_info_get_desc ()
dev_t fm_file_info_get_dev ()
const char * fm_file_info_get_disp_group ()
const char * fm_file_info_get_disp_mtime ()
const char * fm_file_info_get_disp_name ()
const char * fm_file_info_get_disp_owner ()
const char * fm_file_info_get_disp_size ()
const char * fm_file_info_get_fs_id ()
gid_t fm_file_info_get_gid ()
FmIcon * fm_file_info_get_icon ()
FmMimeType * fm_file_info_get_mime_type ()
mode_t fm_file_info_get_mode ()
time_t fm_file_info_get_mtime ()
const char * fm_file_info_get_name ()
FmPath * fm_file_info_get_path ()
goffset fm_file_info_get_size ()
const char * fm_file_info_get_target ()
uid_t fm_file_info_get_uid ()
gboolean fm_file_info_is_accessible ()
gboolean fm_file_info_is_backup ()
gboolean fm_file_info_is_desktop_entry ()
gboolean fm_file_info_is_dir ()
gboolean fm_file_info_is_executable_type ()
gboolean fm_file_info_is_hidden ()
gboolean fm_file_info_is_image ()
gboolean fm_file_info_is_mountable ()
gboolean fm_file_info_is_native ()
gboolean fm_file_info_is_shortcut ()
gboolean fm_file_info_is_symlink ()
gboolean fm_file_info_is_text ()
gboolean fm_file_info_is_unknown_type ()
gboolean fm_file_info_is_writable_directory ()
gboolean fm_file_info_list_is_same_fs ()
gboolean fm_file_info_list_is_same_type ()
FmFileInfoList * fm_file_info_list_new ()
FmFileInfo * fm_file_info_new ()
FmFileInfo * fm_file_info_new_from_g_file_data ()
FmFileInfo * fm_file_info_new_from_gfileinfo ()
FmFileInfo * fm_file_info_new_from_menu_cache_item ()
FmFileInfo * fm_file_info_new_from_native_file ()
FmFileInfo * fm_file_info_ref ()
void fm_file_info_set_disp_name ()
void fm_file_info_set_from_g_file_data ()
void fm_file_info_set_from_gfileinfo ()
void fm_file_info_set_from_menu_cache_item ()
gboolean fm_file_info_set_from_native_file ()
void fm_file_info_set_icon ()
void fm_file_info_set_path ()
void fm_file_info_unref ()
void fm_file_info_update ()

Types and Values

Description

include : libfm/fm.h

Functions

FM_FILE_INFO()

#define FM_FILE_INFO(ptr)    ((FmFileInfo*)ptr)

fm_file_info_can_set_hidden ()

gboolean
fm_file_info_can_set_hidden (FmFileInfo *fi);

Checks if file system supports "hidden" attribute change for fi . Returned value TRUE is just a potential possibility, the attribute still may be unable to change due to access reasons for example.

Parameters

fi

a FmFileInfo to inspect

 

Returns

TRUE if change is supported for fi .

Since: 1.2.0


fm_file_info_can_set_icon ()

gboolean
fm_file_info_can_set_icon (FmFileInfo *fi);

Checks if file system supports icon change for fi . Returned value TRUE is just a potential possibility, icon still may be unable to change due to access reasons for example.

Parameters

fi

a FmFileInfo to inspect

 

Returns

TRUE if change is supported for fi .

Since: 1.2.0


fm_file_info_can_set_name ()

gboolean
fm_file_info_can_set_name (FmFileInfo *fi);

Checks if file system supports name change for fi . Returned value TRUE is just a potential possibility, name still may be unable to change due to access reasons for example.

Parameters

fi

a FmFileInfo to inspect

 

Returns

TRUE if change is supported for fi .

Since: 1.2.0


fm_file_info_can_thumbnail ()

gboolean
fm_file_info_can_thumbnail (FmFileInfo *fi);

fm_file_info_get_atime ()

time_t
fm_file_info_get_atime (FmFileInfo *fi);

Parameters

fi

A FmFileInfo struct

 

Returns

file access time.


fm_file_info_get_blocks ()

goffset
fm_file_info_get_blocks (FmFileInfo *fi);

Parameters

fi

A FmFileInfo struct

 

Returns

how many filesystem blocks used by the file.


fm_file_info_get_collate_key ()

const char *
fm_file_info_get_collate_key (FmFileInfo *fi);

Get the collate key used for locale-dependent filename sorting. The keys of different files can be compared with strcmp() directly.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a const string owned by FmFileInfo which should not be freed.


fm_file_info_get_collate_key_nocasefold ()

const char *
fm_file_info_get_collate_key_nocasefold
                               (FmFileInfo *fi);

Get the collate key used for locale-dependent filename sorting but in case-sensitive manner. The keys of different files can be compared with strcmp() directly. Returned data are owned by FmFileInfo and should be not freed by caller.

This API is not thread-safe and should be used only in default context.

See also: fm_file_info_get_collate_key().

Parameters

fi

a FmFileInfo struct

 

Returns

collate string.

Since: 1.0.2


fm_file_info_get_ctime ()

time_t
fm_file_info_get_ctime (FmFileInfo *fi);

Retrieves time when access right were changed last time for file fi .

Parameters

fi

a file info to inspect

 

Returns

file access change time.

Since: 1.2.0


fm_file_info_get_desc ()

const char *
fm_file_info_get_desc (FmFileInfo *fi);

Get a human-readable description for the file.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a const string owned by FmFileInfo which should not be freed.


fm_file_info_get_dev ()

dev_t
fm_file_info_get_dev (FmFileInfo *fi);

Get the filesystem device id (POSIX dev_t) This is only applicable when the file is native. e.g. fm_file_info_is_native() returns TRUE.

Parameters

fi

A FmFileInfo struct

 

Returns

device id (POSIX dev_t, st_dev member of struct stat).


fm_file_info_get_disp_group ()

const char *
fm_file_info_get_disp_group (FmFileInfo *fi);

Retrieves human-readable string value for group of fi . Returned value is either group name or numeric string if grop has no entry in the /etc/group file. Returned value is owned by fi and should be not altered by caller.

Parameters

fi

file info to inspect

 

Returns

string value for file group.

[transfer none]

Since: 1.2.0


fm_file_info_get_disp_mtime ()

const char *
fm_file_info_get_disp_mtime (FmFileInfo *fi);

Get a human-readable string for showing file modification time in the UI.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a const string owned by FmFileInfo which should not be freed.


fm_file_info_get_disp_name ()

const char *
fm_file_info_get_disp_name (FmFileInfo *fi);

Get the display name used to show the file in the file manager UI. The display name is guaranteed to be UTF-8 and may be different from the real file name on the filesystem.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a const strin owned by FmFileInfo which should not be freed.


fm_file_info_get_disp_owner ()

const char *
fm_file_info_get_disp_owner (FmFileInfo *fi);

Retrieves human-readable string value for owner of fi . Returned value is either owner login name or numeric string if owner has no entry in /etc/passwd file. Returned value is owned by fi and should be not altered by caller.

Parameters

fi

file info to inspect

 

Returns

string value for owner.

[transfer none]

Since: 1.2.0


fm_file_info_get_disp_size ()

const char *
fm_file_info_get_disp_size (FmFileInfo *fi);

Get the size of the file as a human-readable string. It's convinient for show the file size to the user.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a const string owned by FmFileInfo which should not be freed. (non-NULL)


fm_file_info_get_fs_id ()

const char *
fm_file_info_get_fs_id (FmFileInfo *fi);

Get the filesystem id string This is only applicable when the file is on a remote filesystem. e.g. fm_file_info_is_native() returns FALSE.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a const string owned by FmFileInfo which should not be freed.


fm_file_info_get_gid ()

gid_t
fm_file_info_get_gid (FmFileInfo *fi);

Parameters

fi

A FmFileInfo struct

 

Returns

group id (gid) of the file owner.


fm_file_info_get_icon ()

FmIcon *
fm_file_info_get_icon (FmFileInfo *fi);

Get the icon used to show the file in the file manager.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a FmIcon struct. The returned FmIcon struct is owned by FmFileInfo and should not be freed. If you need to keep it, use g_object_ref() to obtain a reference.


fm_file_info_get_mime_type ()

FmMimeType *
fm_file_info_get_mime_type (FmFileInfo *fi);

Get the mime-type of the file.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a FmMimeType struct owned by FmFileInfo which should not be freed. If you need to keep it, use fm_mime_type_ref() to obtain a reference.


fm_file_info_get_mode ()

mode_t
fm_file_info_get_mode (FmFileInfo *fi);

Get the mode of the file. For detail about the meaning of mode, see manpage of stat() and the st_mode struct field.

Parameters

fi

A FmFileInfo struct

 

Returns

mode_t value of the file as defined in POSIX struct stat.


fm_file_info_get_mtime ()

time_t
fm_file_info_get_mtime (FmFileInfo *fi);

Parameters

fi

A FmFileInfo struct

 

Returns

file modification time.


fm_file_info_get_name ()

const char *
fm_file_info_get_name (FmFileInfo *fi);

Get the base name of the file in filesystem encoding.

Parameters

fi

A FmFileInfo struct

 

Returns

a const string owned by FmFileInfo which should not be freed.


fm_file_info_get_path ()

FmPath *
fm_file_info_get_path (FmFileInfo *fi);

Get the path of the file

Parameters

fi

A FmFileInfo struct

 

Returns

a FmPath struct. The returned FmPath struct is owned by FmFileInfo and should not be freed. If you need to keep it, use fm_path_ref() to obtain a reference.


fm_file_info_get_size ()

goffset
fm_file_info_get_size (FmFileInfo *fi);

Parameters

fi

A FmFileInfo struct

 

Returns

the size of the file in bytes.


fm_file_info_get_target ()

const char *
fm_file_info_get_target (FmFileInfo *fi);

Get the target of a symlink or a shortcut.

This API is not thread-safe and should be used only in default context.

Parameters

fi

A FmFileInfo struct

 

Returns

a const string owned by FmFileInfo which should not be freed. NULL if the file is not a symlink or shortcut.


fm_file_info_get_uid ()

uid_t
fm_file_info_get_uid (FmFileInfo *fi);

Parameters

fi

A FmFileInfo struct

 

Returns

user id (uid) of the file owner.


fm_file_info_is_accessible ()

gboolean
fm_file_info_is_accessible (FmFileInfo *fi);

Checks if the user has read access to file or directory fi .

Parameters

fi

a file info descriptor

 

Returns

TRUE if fi is accessible for user.

Since: 1.0.1


fm_file_info_is_backup ()

gboolean
fm_file_info_is_backup (FmFileInfo *fi);

Checks if file is backup. Native files are considered backup if they have ~ suffix.

Parameters

fi

A FmFileInfo struct

 

Returns

TRUE if the file is a backup file.

Since: 1.2.0


fm_file_info_is_desktop_entry ()

gboolean
fm_file_info_is_desktop_entry (FmFileInfo *fi);

fm_file_info_is_dir ()

gboolean
fm_file_info_is_dir (FmFileInfo *fi);

fm_file_info_is_executable_type ()

gboolean
fm_file_info_is_executable_type (FmFileInfo *fi);

fm_file_info_is_hidden ()

gboolean
fm_file_info_is_hidden (FmFileInfo *fi);

fm_file_info_is_image ()

gboolean
fm_file_info_is_image (FmFileInfo *fi);

fm_file_info_is_mountable ()

gboolean
fm_file_info_is_mountable (FmFileInfo *fi);

Checks if fi is "inode/mount-point" type.

Parameters

fi

file info to inspect

 

Returns

TRUE if fi is mountable type.


fm_file_info_is_native ()

gboolean
fm_file_info_is_native (FmFileInfo *fi);

fm_file_info_is_shortcut ()

gboolean
fm_file_info_is_shortcut (FmFileInfo *fi);

fm_file_info_is_symlink ()

gboolean
fm_file_info_is_symlink (FmFileInfo *fi);

fm_file_info_is_text ()

gboolean
fm_file_info_is_text (FmFileInfo *fi);

fm_file_info_is_unknown_type ()

gboolean
fm_file_info_is_unknown_type (FmFileInfo *fi);

fm_file_info_is_writable_directory ()

gboolean
fm_file_info_is_writable_directory (FmFileInfo *fi);

Checks if directory fi lies on writable file system. Returned value TRUE is just a potential possibility, it may still not allow write due to access reasons for example.

Parameters

fi

a FmFileInfo to inspect

 

Returns

TRUE if fi may be writable.

Since: 1.2.0


fm_file_info_list_is_same_fs ()

gboolean
fm_file_info_list_is_same_fs (FmFileInfoList *list);

Checks if all files in the list are on the same file system.

Parameters

list

a FmFileInfoList

 

Returns

TRUE if all files in the list are on the same fs.


fm_file_info_list_is_same_type ()

gboolean
fm_file_info_list_is_same_type (FmFileInfoList *list);

Checks if all files in the list are of the same type.

Parameters

list

a FmFileInfoList

 

Returns

TRUE if all files in the list are of the same type


fm_file_info_list_new ()

FmFileInfoList *
fm_file_info_list_new ();

Creates a new FmFileInfoList.

Returns

new FmFileInfoList object.


fm_file_info_new ()

FmFileInfo *
fm_file_info_new ();

Returns

a new FmFileInfo struct which needs to be freed with fm_file_info_unref() when it's no more needed.


fm_file_info_new_from_g_file_data ()

FmFileInfo *
fm_file_info_new_from_g_file_data (GFile *gf,
                                   GFileInfo *inf,
                                   FmPath *path);

Creates a new FmFileInfo for file pointed by path and gf based on information stored in the inf . Returned data should be freed with fm_file_info_unref() when no longer needed.

Parameters

gf

a GFile of a file

 

inf

a GFileInfo object

 

path

a FmPath of a file.

[allow-none]

Returns

a new FmFileInfo struct.

[transfer full]

Since: 1.2.0


fm_file_info_new_from_gfileinfo ()

FmFileInfo *
fm_file_info_new_from_gfileinfo (FmPath *path,
                                 GFileInfo *inf);

fm_file_info_new_from_gfileinfo has been deprecated since version 1.2.0 and should not be used in newly-written code.

Use fm_file_info_new_from_g_file_data() instead.

Create a new FmFileInfo for file pointed by path based on information stored in the GFileInfo object.

Parameters

path

FmPath of a file

 

inf

a GFileInfo object

 

Returns

A new FmFileInfo struct which should be freed with fm_file_info_unref() when no longer needed.


fm_file_info_new_from_menu_cache_item ()

FmFileInfo *
fm_file_info_new_from_menu_cache_item (FmPath *path,
                                       struct _MenuCacheItem *item);

Creates a new FmFileInfo for a file by path and fills it with info from a menu cache item . Returned data should be freed with fm_file_info_unref() when no longer needed.

Parameters

path

a file path

 

item

a menu cache item

 

Returns

a new FmFileInfo struct.

[transfer full]

Since: 0.1.1


fm_file_info_new_from_native_file ()

FmFileInfo *
fm_file_info_new_from_native_file (FmPath *path,
                                   const char *path_str,
                                   GError **err);

Create a new FmFileInfo for file pointed by path . Returned data should be freed with fm_file_info_unref() after usage.

Parameters

path

path descriptor.

[allow-none]

path_str

full path to the file

 

err

pointer to receive error.

[allow-none][out]

Returns

new file info or NULL in case of error.

[transfer full]

Since: 1.2.0


fm_file_info_ref ()

FmFileInfo *
fm_file_info_ref (FmFileInfo *fi);

Increase reference count of the FmFileInfo struct.

Parameters

fi

A FmFileInfo struct

 

Returns

the FmFileInfo struct itself


fm_file_info_set_disp_name ()

void
fm_file_info_set_disp_name (FmFileInfo *fi,
                            const char *name);

Set the display name used to show the file in the file manager UI. If NULL is passed for name , the original display will be freed and the real base name will be used for display.

Parameters

fi

A FmFileInfo struct

 

name

A UTF-8 display name. (can be NULL).

 

fm_file_info_set_from_g_file_data ()

void
fm_file_info_set_from_g_file_data (FmFileInfo *fi,
                                   GFile *gf,
                                   GFileInfo *inf);

Get file info from the GFile and GFileInfo objects and sets data in the FmFileInfo struct appropriately.

Parameters

fi

a FmFileInfo struct to update

 

gf

a GFile object to inspect.

[allow-none]

inf

a GFileInfo object to inspect

 

Since: 1.2.0


fm_file_info_set_from_gfileinfo ()

void
fm_file_info_set_from_gfileinfo (FmFileInfo *fi,
                                 GFileInfo *inf);

fm_file_info_set_from_gfileinfo has been deprecated since version 1.2.0 and should not be used in newly-written code.

Use fm_file_info_set_from_g_file_data() instead.

Get file info from the GFileInfo object and store it in the FmFileInfo struct.

Parameters

fi

A FmFileInfo struct

 

inf

a GFileInfo object

 

fm_file_info_set_from_menu_cache_item ()

void
fm_file_info_set_from_menu_cache_item (FmFileInfo *fi,
                                       struct _MenuCacheItem *item);

fm_file_info_set_from_menu_cache_item has been deprecated since version 1.2.0 and should not be used in newly-written code.

Parameters

fi

a file info to update

 

item

a menu cache item

 

fm_file_info_set_from_native_file ()

gboolean
fm_file_info_set_from_native_file (FmFileInfo *fi,
                                   const char *path,
                                   GError **err);

Get file info of the specified native file and store it in the FmFileInfo struct.

Prior to calling this function, the FmPath of FmFileInfo should have been set with fm_file_info_set_path().

Note that this call does I/O and therefore can block.

Parameters

fi

A FmFileInfo struct

 

path

full path of the file

 

err

a GError** to retrive errors

 

Returns

TRUE if no error happens.


fm_file_info_set_icon ()

void
fm_file_info_set_icon (FmFileInfo *fi,
                       GIcon *icon);

Updates the icon used to show the file in the file manager UI.

Parameters

fi

a FmFileInfo

 

icon

an icon to update

 

Since: 1.2.0


fm_file_info_set_path ()

void
fm_file_info_set_path (FmFileInfo *fi,
                       FmPath *path);

This API is not thread-safe and should be used only in default context.

Change the path of the FmFileInfo.

Parameters

fi

A FmFileInfo struct

 

path

a FmPath struct

 

fm_file_info_unref ()

void
fm_file_info_unref (FmFileInfo *fi);

Decrease reference count of the FmFileInfo struct. When the last reference to the struct is released, the FmFileInfo struct is freed.

Parameters

fi

A FmFileInfo struct

 

fm_file_info_update ()

void
fm_file_info_update (FmFileInfo *fi,
                     FmFileInfo *src);

This API is not thread-safe and should be used only in default context.

Update the content of fi by copying file info stored in src to fi .

Parameters

fi

A FmFileInfo struct

 

src

another FmFileInfo struct

 

Types and Values

FmFileInfo

typedef struct _FmFileInfo FmFileInfo;