|  |  |  | Thunar Extensions Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Prerequisites | Signals | ||||
#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);
GFileInfo *         thunarx_file_info_get_file_info     (ThunarxFileInfo *file_info);
GFileInfo *         thunarx_file_info_get_filesystem_info
                                                        (ThunarxFileInfo *file_info);
GFile *             thunarx_file_info_get_location      (ThunarxFileInfo *file_info);
void                thunarx_file_info_changed           (ThunarxFileInfo *file_info);
void                thunarx_file_info_renamed           (ThunarxFileInfo *file_info);
#define             THUNARX_TYPE_FILE_INFO_LIST
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 {
  /* virtual methods */
  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);
  GFileInfo *(*get_file_info)       (ThunarxFileInfo *file_info);
  GFileInfo *(*get_filesystem_info) (ThunarxFileInfo *file_info);
  GFile     *(*get_location)        (ThunarxFileInfo *file_info);
  /* signals */
  void (*changed) (ThunarxFileInfo *file_info);
  void (*renamed) (ThunarxFileInfo *file_info);
} ThunarxFileInfoIface;
Interface with virtual methods implemented by the file manager and accessible from the extensions.
| See thunarx_file_info_get_name(). | |
| See thunarx_file_info_get_uri(). | |
| See thunarx_file_info_get_parent_uri(). | |
| See thunarx_file_info_get_uri_scheme(). | |
| See thunarx_file_info_get_mime_type(). | |
| See thunarx_file_info_has_mime_type(). | |
| See thunarx_file_info_is_directory(). | |
| See thunarx_file_info_get_file_info(). | |
| See thunarx_filesystem_info_get_filesystem_info(). | |
| See thunarx_location_get_location(). | |
| See thunarx_file_info_changed(). | |
| See thunarx_file_info_renamed(). | 
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.
| 
 | 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.
| 
 | 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.
| 
 | a ThunarxFileInfo. | 
| Returns : | the parent URI for file_infoorNULL. | 
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.
| 
 | 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.
| 
 | a ThunarxFileInfo. | 
| Returns : | the MIME-type for file_infoorNULL. | 
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.
| 
 | a ThunarxFileInfo. | 
| 
 | a MIME-type (e.g. "text/plain"). | 
| Returns : | TRUEifmime_typeis valid forfile_info,
              elseFALSE. | 
gboolean            thunarx_file_info_is_directory      (ThunarxFileInfo *file_info);
Checks whether file_info refers to a directory.
| 
 | a ThunarxFileInfo. | 
| Returns : | TRUEiffile_infois a directory. | 
GFileInfo *         thunarx_file_info_get_file_info     (ThunarxFileInfo *file_info);
Returns the GFileInfo associated with file_info,
which includes additional information about the file_info
as queried from GIO earlier. The caller is responsible to free the 
returned GFileInfo object using g_object_unref() when 
no longer needed.
| 
 | a ThunarxFileInfo. | 
| Returns : | the GFileInfo object associated with file_info,
              which MUST be freed usingg_object_unref(). | 
GFileInfo *         thunarx_file_info_get_filesystem_info
                                                        (ThunarxFileInfo *file_info);
Returns the GFileInfo which includes additional information about
the filesystem file_info resides on. The caller is responsible to 
free the returned GFileInfo object using g_object_unref() when 
no longer needed.
| 
 | a ThunarxFileInfo. | 
| Returns : | the GFileInfo containing information about the
              filesystem of file_infoorNULLif no filesystem 
              information is available. It MUST be released usingg_object_unref(). | 
GFile *             thunarx_file_info_get_location      (ThunarxFileInfo *file_info);
Returns the GFile file_info points to. The GFile is a more
powerful tool than just the URI or the path. The caller
is responsible to release the returned GFile using g_object_unref()
when no longer needed.
| 
 | a ThunarxFileInfo. | 
| Returns : | the GFile to which file_infopoints. It MUST be
              released usingg_object_unref(). | 
void                thunarx_file_info_changed           (ThunarxFileInfo *file_info);
Emits the ::changed signal on file_info. This method should not
be invoked by Thunar plugins, instead the file manager itself
will use this method to emit ::changed whenever it notices a
change on file_info.
| 
 | a ThunarxFileInfo. | 
void                thunarx_file_info_renamed           (ThunarxFileInfo *file_info);
Emits the ::renamed signal on file_info. This method should
not be invoked by Thunar plugins, instead the file manager
will emit this signal whenever the user renamed the file_info.
The plugins should instead connect to the ::renamed signal and update it's internal state and it's user interface after the file manager renamed a file.
| 
 | a ThunarxFileInfo. | 
#define THUNARX_TYPE_FILE_INFO_LIST (thunarx_file_info_list_get_type ())
  The GType for a boxed type holding a GList of ThunarxFileInfos.
  See thunarx_file_info_list_copy() and thunarx_file_info_list_free().
GList *             thunarx_file_info_list_copy         (GList *file_infos);
Does a deep copy of file_infos and returns the
new list.
| 
 | 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.
| 
 | a GList of ThunarxFileInfos. | 
"changed" signalvoid user_function (ThunarxFileInfo *file_info, gpointer user_data) : Run First
Emitted whenever the system notices a change to file_info.
Thunar plugins should use this signal to stay informed about
changes to a file_info for which they currently display
information (i.e. in a ThunarxPropertyPage), and update
it's user interface whenever a change is noticed on file_info.
| 
 | a ThunarxFileInfo. | 
| 
 | user data set when the signal handler was connected. | 
"renamed" signalvoid user_function (ThunarxFileInfo *file_info, gpointer user_data) : Run First
Emitted when the file_info is renamed to another
name.
For example, within Thunar, ThunarFolder uses this signal to reregister it's VFS directory monitor, after the corresponding file was renamed.
| 
 | a ThunarxFileInfo | 
| 
 | user data set when the signal handler was connected. |