ThunarxFileInfo

ThunarxFileInfo — Abstraction of a file handled within the file manager

Stability Level

Stable, unless otherwise indicated

Synopsis


#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);


Object Hierarchy


  GInterface
   +----ThunarxFileInfo

Prerequisites

ThunarxFileInfo requires GObject.

Description

The ThunarxFileInfo interface provides extensions with a way to access information about a file handled within the file manager.

Details

ThunarxFileInfoIface

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().

ThunarxFileInfo

typedef struct _ThunarxFileInfo ThunarxFileInfo;

File info type, which is mapped to the real file info implementation within the file manager.


thunarx_file_info_get_name ()

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.

thunarx_file_info_get_uri ()

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.

thunarx_file_info_get_parent_uri ()

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.

thunarx_file_info_get_uri_scheme ()

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.

thunarx_file_info_get_mime_type ()

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.

thunarx_file_info_has_mime_type ()

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.

thunarx_file_info_is_directory ()

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.

thunarx_file_info_list_copy ()

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.

thunarx_file_info_list_free ()

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.