![]() |
![]() |
![]() |
Libfm Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#define FM_PATH (path) FmFileInfoList; FmPath; enum FmPathFlags; FmPathList; int fm_path_compare (FmPath *p1
,FmPath *p2
); int fm_path_depth (FmPath *path
); char * fm_path_display_basename (FmPath *path
); char * fm_path_display_name (FmPath *path
,gboolean human_readable
); gboolean fm_path_equal (FmPath *p1
,FmPath *p2
); gboolean fm_path_equal_str (FmPath *path
,const gchar *str
,int n
); FmPath * fm_path_get_apps_menu (void
); const char * fm_path_get_basename (FmPath *path
); FmPath * fm_path_get_desktop (void
); FmPathFlags fm_path_get_flags (FmPath *path
); FmPath * fm_path_get_home (void
); FmPath * fm_path_get_parent (FmPath *path
); FmPath * fm_path_get_root (void
); FmPath * fm_path_get_trash (void
); gboolean fm_path_has_prefix (FmPath *path
,FmPath *prefix
); guint fm_path_hash (FmPath *path
); #define fm_path_is_local (path) #define fm_path_is_native (path) #define fm_path_is_trash (path) #define fm_path_is_trash_root (path) #define fm_path_is_virtual (path) #define fm_path_is_xdg_menu (path) FmPathList * fm_path_list_new (void
); FmPathList * fm_path_list_new_from_file_info_glist (GList *fis
); FmPathList * fm_path_list_new_from_file_info_gslist (GSList *fis
); FmPathList * fm_path_list_new_from_file_info_list (FmFileInfoList *fis
); FmPathList * fm_path_list_new_from_uri_list (const char *uri_list
); FmPathList * fm_path_list_new_from_uris (char * const*uris
); char * fm_path_list_to_uri_list (FmPathList *pl
); void fm_path_list_write_uri_list (FmPathList *pl
,GString *buf
); FmPath * fm_path_new_child (FmPath *parent
,const char *basename
); FmPath * fm_path_new_child_len (FmPath *parent
,const char *basename
,int name_len
); FmPath * fm_path_new_for_commandline_arg (const char *arg
); FmPath * fm_path_new_for_display_name (const char *path_name
); FmPath * fm_path_new_for_gfile (GFile *gf
); FmPath * fm_path_new_for_path (const char *path_name
); FmPath * fm_path_new_for_str (const char *path_str
); FmPath * fm_path_new_for_uri (const char *uri
); FmPath * fm_path_new_relative (FmPath *parent
,const char *rel
); FmPath * fm_path_ref (FmPath *path
); GFile * fm_path_to_gfile (FmPath *path
); char * fm_path_to_str (FmPath *path
); char * fm_path_to_uri (FmPath *path
); void fm_path_unref (FmPath *path
);
typedef enum { FM_PATH_NONE = 0, FM_PATH_IS_NATIVE = 1<<0, FM_PATH_IS_LOCAL = 1<<1, FM_PATH_IS_VIRTUAL = 1<<2, FM_PATH_IS_TRASH = 1<<3, FM_PATH_IS_XDG_MENU = 1<<4, } FmPathFlags;
Flags of FmPath object.
FM_PATH_IS_VIRTUAL and FM_PATH_IS_XDG_MENU are deprecated since 1.0.2 and should not be used in newly written code.
- | |
This is a native path to UNIX, like /home | |
This path refers to a file on local filesystem | |
This path is virtual and it doesn't exist on real filesystem | |
This path is under trash:/// | |
This path is under menu:/// |
int fm_path_depth (FmPath *path
);
Calculates how many elements are in this path.
|
a path |
Returns : |
TRUE if paths are equal. |
Since 1.0.0
char * fm_path_display_basename (FmPath *path
);
Creates displayable basename of path
.
|
a path |
Returns : |
displayable basename of path. |
Since 0.1.0
char * fm_path_display_name (FmPath *path
,gboolean human_readable
);
Creates string representation of path
as displayable name.
The conversion is the most probably unreversible so returned value
should be used only for displaying purposes.
|
a path |
|
TRUE to generate simple text |
Returns : |
path string. [transfer full] |
Since 0.1.0
gboolean fm_path_equal (FmPath *p1
,FmPath *p2
);
Compares two paths and returns TRUE
if they are equal.
Note that this function is primarily meant as a hash table comparison function.
See also: fm_path_compare()
.
|
first path |
|
second path |
Returns : |
TRUE if paths are equal. |
Since 0.1.0
gboolean fm_path_equal_str (FmPath *path
,const gchar *str
,int n
);
Compares path string representation with string
.
|
a path |
|
a string |
|
length of string
|
Returns : |
TRUE if path and string are equal. |
Since 0.1.0
FmPath * fm_path_get_apps_menu (void
);
Retrieves FmPath for menu:// virtual directory.
Returned data are owned by path
and should be not freed by caller.
Returns : |
a path. |
Since 0.1.0
const char * fm_path_get_basename (FmPath *path
);
Retrieves basename of path
.
Returned data are owned by path
and should be not freed by caller.
|
a path |
Returns : |
basename of path. |
Since 0.1.0
FmPath * fm_path_get_desktop (void
);
Retrieves FmPath for desktop directory.
Returned data are owned by path
and should be not freed by caller.
Returns : |
a path. |
Since 0.1.0
FmPathFlags fm_path_get_flags (FmPath *path
);
Retrieves attributes of path
.
|
a path |
Returns : |
attributes of path. |
Since 0.1.0
FmPath * fm_path_get_home (void
);
Retrieves FmPath for home directory.
Returned data are owned by path
and should be not freed by caller.
Returns : |
a path. |
Since 0.1.0
FmPath * fm_path_get_parent (FmPath *path
);
Retrieves path of directory containing path
.
Returned data are owned by path
and should be not freed by caller.
|
a path |
Returns : |
path of parent directory or NULL if path is root path. [transfer none]
|
Since 0.1.0
FmPath * fm_path_get_root (void
);
Retrieves FmPath for root directory.
Returned data are owned by path
and should be not freed by caller.
Returns : |
a path. |
Since 0.1.0
FmPath * fm_path_get_trash (void
);
Retrieves FmPath for Trash can.
Returned data are owned by path
and should be not freed by caller.
Returns : |
a path. |
Since 0.1.0
gboolean fm_path_has_prefix (FmPath *path
,FmPath *prefix
);
Check if prefix
is a prefix of path
.
For example: /usr/share is the prefix of /usr/share/docs/libfm
but /etc is not.
|
a sub path |
|
a prefix |
Returns : |
TRUE if prefix is the prefix of path . |
guint fm_path_hash (FmPath *path
);
Converts a path to a hash value.
|
a path key |
Returns : |
a hash value corresponding to the key. |
Since 0.1.0
#define fm_path_is_native(path) ((fm_path_get_flags(path)&FM_PATH_IS_NATIVE)!=0)
#define fm_path_is_virtual(path) ((fm_path_get_flags(path)&FM_PATH_IS_VIRTUAL)!=0)
fm_path_is_virtual
is deprecated and should not be used in newly-written code.
#define fm_path_is_xdg_menu(path) ((fm_path_get_flags(path)&FM_PATH_IS_XDG_MENU)!=0)
fm_path_is_xdg_menu
is deprecated and should not be used in newly-written code.
FmPathList * fm_path_list_new_from_file_info_glist
(GList *fis
);
Creates a FmPathList from fis
.
|
list of file infos. [element-type FmFileInfo] |
Returns : |
new FmPathList. [transfer full] |
Since 0.1.0
FmPathList * fm_path_list_new_from_file_info_gslist
(GSList *fis
);
Creates a FmPathList from fis
.
|
list of file infos. [element-type FmFileInfo] |
Returns : |
new FmPathList. [transfer full] |
Since 0.1.0
FmPathList * fm_path_list_new_from_file_info_list
(FmFileInfoList *fis
);
Creates a FmPathList from fis
.
|
a file info list |
Returns : |
new FmPathList. [transfer full] |
Since 0.1.0
FmPathList * fm_path_list_new_from_uri_list (const char *uri_list
);
Creates a FmPathList from uri_list
.
|
list of URIs separated by newline characters |
Returns : |
new FmPathList. [transfer full] |
Since 0.1.0
FmPathList * fm_path_list_new_from_uris (char * const*uris
);
Creates a FmPathList from uris
.
|
NULL-terminated list of URIs |
Returns : |
new FmPathList. [transfer full] |
Since 0.1.0
char * fm_path_list_to_uri_list (FmPathList *pl
);
Creates newline-separated list from pl
. Returned data should be freed
with g_free()
after usage.
|
a path list |
Returns : |
string representation of pl . [transfer full]
|
Since 0.1.0
void fm_path_list_write_uri_list (FmPathList *pl
,GString *buf
);
Creates newline-separated list of URIs from pl
.
|
a path list |
|
a storage for resulting list. [out] |
Since 0.1.0
FmPath * fm_path_new_child (FmPath *parent
,const char *basename
);
Creates new FmPath for child of parent
directory which have name
basename
. basename
is in glib filename encoding (can be non-UTF-8)
of target filesystem.
|
a parent path. [allow-none] |
|
basename of a direct child of parent directory. [allow-none]
|
Returns : |
a new FmPath for the path. You have to call
fm_path_unref() when it's no longer needed. [transfer full]
|
FmPath * fm_path_new_child_len (FmPath *parent
,const char *basename
,int name_len
);
Creates new FmPath for child of parent
directory which have name
basename
. The string length of basename
is name_len
. basename
is
in glib filename encoding (can be non-UTF-8) of target filesystem.
If parent
is NULL
then basename
assumed to be root of some file
system.
|
a parent path. [allow-none] |
|
basename of a direct child of parent directory. [allow-none]
|
|
length of basename
|
Returns : |
a new FmPath for the path. You have to call
fm_path_unref() when it's no longer needed. [transfer full]
|
FmPath * fm_path_new_for_commandline_arg (const char *arg
);
|
a file path passed in command line argv to the program. The arg
can be a POSIX path in glib filename encoding (can be non-UTTF-8) and
can be a URI with non-ASCII characters escaped, like
http://wiki.lxde.org/zh/%E9%A6%96%E9%A0%81. |
Returns : |
a newly created FmPath for the path. You have to call
fm_path_unref() when it's no longer needed. |
FmPath * fm_path_new_for_display_name (const char *path_name
);
fm_path_new_for_display_name
is deprecated and should not be used in newly-written code.
You can call fm_path_display_name()
to convert a FmPath to a
UTF-8 encoded name ready for being displayed in the GUI.
|
a UTF-8 encoded display name for the path It can either be a POSIX path in UTF-8 encoding, or an unescaped URI (can contain non-ASCII characters and spaces) |
Returns : |
a newly created FmPath for the path. You have to call
fm_path_unref() when it's no longer needed. |
FmPath * fm_path_new_for_gfile (GFile *gf
);
This function converts a GFile object to FmPath.
|
a GFile object |
Returns : |
a newly created FmPath for the path. You have to call
fm_path_unref() when it's no longer needed. |
FmPath * fm_path_new_for_path (const char *path_name
);
|
a POSIX path. [allow-none] |
Returns : |
a newly created FmPath for the path. You have to call
fm_path_unref() when it's no longer needed. |
FmPath * fm_path_new_for_str (const char *path_str
);
You can call fm_path_to_str()
to convert a FmPath back to its string
presentation.
|
a string representing the file path in its native encoding (can be non-UTF-8). It can either be a native path or an unescaped URI (can contain non-ASCII characters and spaces). The function will try to figure out what to do. [allow-none] |
Returns : |
a newly created FmPath for the path. You have to call
fm_path_unref() when it's no longer needed. |
FmPath * fm_path_new_for_uri (const char *uri
);
Creates new FmPath by given uri
. You have to call
fm_path_unref()
when it's no longer needed.
You can call fm_path_to_uri()
to convert a FmPath to a escaped URI
string.
|
a URI with special characters escaped. [allow-none] |
Returns : |
a new FmPath for the uri . [transfer full]
|
FmPath * fm_path_new_relative (FmPath *parent
,const char *rel
);
Creates new FmPath which is relative to parent
directory by the
relative path string rel
. rel
is in glib filename encoding (can be
non-UTF-8) if parent
is native and should be escaped URI subpath
otherwise. For example, if parent
is "http://wiki.lxde.org/" and
rel
is "zh/%E9%A6%96%E9%A0%81", the resulting path will be
"http://wiki.lxde.org/zh/%E9%A6%96%E9%A0%81".
If parent
is NULL, this works the same as fm_path_new_for_str(rel
)
|
a parent path. [allow-none] |
|
a path relative to parent . [allow-none]
|
Returns : |
a new FmPath for the path. You have to call
fm_path_unref() when it's no longer needed. [transfer full]
|
FmPath * fm_path_ref (FmPath *path
);
Increases reference count on path
.
|
an existing FmPath |
Returns : |
path . |
GFile * fm_path_to_gfile (FmPath *path
);
Creates GFile representation of path
.
|
a path |
Returns : |
a GFile object. [transfer full] |
Since 0.1.0
char * fm_path_to_str (FmPath *path
);
Creates string representation of path
. It can be either file path in
local encoding or URI with non-ASCII characters escaped (RFC 3986).
|
a path |
Returns : |
path string. [transfer full] |
Since 0.1.0
char * fm_path_to_uri (FmPath *path
);
Creates URI representation of path
.
|
a path |
Returns : |
path URI. |
Since 0.1.0