![]() |
![]() |
![]() |
Thunar Extensions Reference Manual | ![]() |
---|
ThunarxFileInfoThunarxFileInfo — Abstraction of a file handled within the file manager |
#include <thunarx/thunarx.h> ThunarxFileInfoIface; ThunarxFileInfo; gchar* thunarx_file_info_get_name (ThunarxFileInfo *file_info); gchar* thunarx_file_info_get_uri (ThunarxFileInfo *file_info); gchar* thunarx_file_info_get_parent_uri (ThunarxFileInfo *file_info); gchar* thunarx_file_info_get_uri_scheme (ThunarxFileInfo *file_info); gchar* thunarx_file_info_get_mime_type (ThunarxFileInfo *file_info); gboolean thunarx_file_info_has_mime_type (ThunarxFileInfo *file_info, const gchar *mime_type); gboolean thunarx_file_info_is_directory (ThunarxFileInfo *file_info); GList* thunarx_file_info_list_copy (GList *file_infos); void thunarx_file_info_list_free (GList *file_infos);
The ThunarxFileInfo interface provides extensions with a way to access information about a file handled within the file manager.
typedef struct { gchar *(*get_name) (ThunarxFileInfo *file_info); gchar *(*get_uri) (ThunarxFileInfo *file_info); gchar *(*get_parent_uri) (ThunarxFileInfo *file_info); gchar *(*get_uri_scheme) (ThunarxFileInfo *file_info); gchar *(*get_mime_type) (ThunarxFileInfo *file_info); gboolean (*has_mime_type) (ThunarxFileInfo *file_info, const gchar *mime_type); gboolean (*is_directory) (ThunarxFileInfo *file_info); } ThunarxFileInfoIface;
Interface with virtual methods implemented by the file manager and accessible from the extensions.
get_name () |
See thunarx_file_info_get_name() .
|
get_uri () |
See thunarx_file_info_get_uri() .
|
get_parent_uri () |
See thunarx_file_info_get_parent_uri() .
|
get_uri_scheme () |
See thunarx_file_info_get_uri_scheme() .
|
get_mime_type () |
See thunarx_file_info_get_mime_type() .
|
has_mime_type () |
See thunarx_file_info_has_mime_type() .
|
is_directory () |
See thunarx_file_info_is_directory() .
|
typedef struct _ThunarxFileInfo ThunarxFileInfo;
File info type, which is mapped to the real file info implementation within the file manager.
gchar* thunarx_file_info_get_name (ThunarxFileInfo *file_info);
Returns the real name of the file represented
by file_info
in the local file system encoding.
You can use g_filename_display_name()
or similar
functions to generate an UTF-8 version of the
name, which is suitable for use in the user
interface.
The caller is responsible to free the returned
string using g_free()
when no longer needed.
file_info : |
a ThunarxFileInfo. |
Returns : | the real name of the file represented
by file_info .
|
gchar* thunarx_file_info_get_uri (ThunarxFileInfo *file_info);
Returns the escaped, fully qualified URI
of the file object represented by file_info
.
You may use g_filename_from_uri()
and similar
functions to work with the returned URI.
The caller is responsible to free the returned
string using g_free()
when no longer needed.
file_info : |
a ThunarxFileInfo. |
Returns : | the fully qualified URI of file_info .
|
gchar* thunarx_file_info_get_parent_uri (ThunarxFileInfo *file_info);
Returns the URI to the parent file of
file_info
or NULL
if file_info
has
no parent. Note that the parent URI
may be of a different type than the
URI of file_info
. For example, the
parent of "file:///" is "computer:///".
The caller is responsible to free the
returned string using g_free()
when no
longer needed.
file_info : |
a ThunarxFileInfo. |
Returns : | the parent URI for file_info
or NULL .
|
gchar* thunarx_file_info_get_uri_scheme (ThunarxFileInfo *file_info);
Returns the URI scheme of the file represented
by file_info
. E.g. if file_info
refers to the
file "file:///usr/home", the return value will
be "file".
The caller is responsible to free the returned
string using g_free()
when no longer needed.
file_info : |
a ThunarxFileInfo. |
Returns : | the URI scheme for file_info .
|
gchar* thunarx_file_info_get_mime_type (ThunarxFileInfo *file_info);
Returns the MIME-type of the file represented by
file_info
or NULL
if no MIME-type is known for
file_info
.
The caller is responsible to free the returned
string using g_free()
when no longer needed.
file_info : |
a ThunarxFileInfo. |
Returns : | the MIME-type for file_info or
NULL .
|
gboolean thunarx_file_info_has_mime_type (ThunarxFileInfo *file_info, const gchar *mime_type);
Checks whether file_info
is of the given mime_type
or whether the MIME-type of file_info
is a subclass
of mime_type
.
This is the preferred way for most extensions to check
whether they support a given file or not, and you should
consider using this method rather than
thunarx_file_info_get_mime_type()
. A simple example would
be a menu extension that performs a certain action on
text files. In this case you want to check whether a given
ThunarxFileInfo refers to any kind of text file, not only
to "text/plain" (e.g. this also includes "text/xml" and
"application/x-desktop").
But you should be aware that this method may take some
time to test whether mime_type
is valid for file_info
,
so don't call it too often.
file_info : |
a ThunarxFileInfo. |
mime_type : |
a MIME-type (e.g. "text/plain"). |
Returns : | TRUE if mime_type is valid for file_info ,
else FALSE .
|
gboolean thunarx_file_info_is_directory (ThunarxFileInfo *file_info);
Checks whether file_info
refers to a directory.
file_info : |
a ThunarxFileInfo. |
Returns : | TRUE if file_info is a directory.
|
GList* thunarx_file_info_list_copy (GList *file_infos);
Does a deep copy of file_infos
and returns the
new list.
file_infos : |
a GList of ThunarxFileInfos. |
Returns : | a copy of file_infos .
|
void thunarx_file_info_list_free (GList *file_infos);
Frees the resources allocated for the file_infos
list and decreases the reference count on the
ThunarxFileInfos contained within.
file_infos : |
a GList of ThunarxFileInfos. |
<< Part IV. Abstraction Layer | ThunarxPropertyPage >> |