Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gbookmarkfile.h File Reference
#include <glib/gdatetime.h>
#include <glib/gerror.h>
#include <time.h>

Go to the source code of this file.

Macros

#define G_BOOKMARK_FILE_ERROR   (g_bookmark_file_error_quark ())
 

Typedefs

typedef struct _GBookmarkFile GBookmarkFile
 

Enumerations

enum  GBookmarkFileError {
  G_BOOKMARK_FILE_ERROR_INVALID_URI , G_BOOKMARK_FILE_ERROR_INVALID_VALUE , G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED , G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND ,
  G_BOOKMARK_FILE_ERROR_READ , G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING , G_BOOKMARK_FILE_ERROR_WRITE , G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND
}
 

Functions

GLIB_AVAILABLE_IN_ALL GQuark g_bookmark_file_error_quark (void)
 
GLIB_AVAILABLE_IN_ALL GBookmarkFileg_bookmark_file_new (void)
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_free (GBookmarkFile *bookmark)
 
GLIB_AVAILABLE_IN_2_76 GBookmarkFileg_bookmark_file_copy (GBookmarkFile *bookmark)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark, const gchar *filename, GError **error)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark, const gchar *data, gsize length, GError **error)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, const gchar *file, gchar **full_path, GError **error)
 
GLIB_AVAILABLE_IN_ALL gcharg_bookmark_file_to_data (GBookmarkFile *bookmark, gsize *length, GError **error) G_GNUC_MALLOC
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark, const gchar *filename, GError **error)
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_title (GBookmarkFile *bookmark, const gchar *uri, const gchar *title)
 
GLIB_AVAILABLE_IN_ALL gcharg_bookmark_file_get_title (GBookmarkFile *bookmark, const gchar *uri, GError **error) G_GNUC_MALLOC
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_description (GBookmarkFile *bookmark, const gchar *uri, const gchar *description)
 
GLIB_AVAILABLE_IN_ALL gcharg_bookmark_file_get_description (GBookmarkFile *bookmark, const gchar *uri, GError **error) G_GNUC_MALLOC
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark, const gchar *uri, const gchar *mime_type)
 
GLIB_AVAILABLE_IN_ALL gcharg_bookmark_file_get_mime_type (GBookmarkFile *bookmark, const gchar *uri, GError **error) G_GNUC_MALLOC
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_groups (GBookmarkFile *bookmark, const gchar *uri, const gchar **groups, gsize length)
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_add_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group, GError **error)
 
GLIB_AVAILABLE_IN_ALL gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark, const gchar *uri, gsize *length, GError **error)
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_add_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, const gchar *exec)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, GError **error)
 
GLIB_AVAILABLE_IN_ALL gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark, const gchar *uri, gsize *length, GError **error)
 
gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, const gchar *exec, gint count, time_t stamp, GError **error)
 
GLIB_AVAILABLE_IN_2_66 gboolean g_bookmark_file_set_application_info (GBookmarkFile *bookmark, const char *uri, const char *name, const char *exec, int count, GDateTime *stamp, GError **error)
 
gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, gchar **exec, guint *count, time_t *stamp, GError **error)
 
GLIB_AVAILABLE_IN_2_66 gboolean g_bookmark_file_get_application_info (GBookmarkFile *bookmark, const char *uri, const char *name, char **exec, unsigned int *count, GDateTime **stamp, GError **error)
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_is_private (GBookmarkFile *bookmark, const gchar *uri, gboolean is_private)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark, const gchar *uri, GError **error)
 
GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_icon (GBookmarkFile *bookmark, const gchar *uri, const gchar *href, const gchar *mime_type)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark, const gchar *uri, gchar **href, gchar **mime_type, GError **error)
 
void g_bookmark_file_set_added (GBookmarkFile *bookmark, const gchar *uri, time_t added)
 
GLIB_AVAILABLE_IN_2_66 void g_bookmark_file_set_added_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *added)
 
time_t g_bookmark_file_get_added (GBookmarkFile *bookmark, const gchar *uri, GError **error)
 
GLIB_AVAILABLE_IN_2_66 GDateTimeg_bookmark_file_get_added_date_time (GBookmarkFile *bookmark, const char *uri, GError **error)
 
void g_bookmark_file_set_modified (GBookmarkFile *bookmark, const gchar *uri, time_t modified)
 
GLIB_AVAILABLE_IN_2_66 void g_bookmark_file_set_modified_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *modified)
 
time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark, const gchar *uri, GError **error)
 
GLIB_AVAILABLE_IN_2_66 GDateTimeg_bookmark_file_get_modified_date_time (GBookmarkFile *bookmark, const char *uri, GError **error)
 
void g_bookmark_file_set_visited (GBookmarkFile *bookmark, const gchar *uri, time_t visited)
 
GLIB_AVAILABLE_IN_2_66 void g_bookmark_file_set_visited_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *visited)
 
time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark, const gchar *uri, GError **error)
 
GLIB_AVAILABLE_IN_2_66 GDateTimeg_bookmark_file_get_visited_date_time (GBookmarkFile *bookmark, const char *uri, GError **error)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark, const gchar *uri)
 
GLIB_AVAILABLE_IN_ALL gint g_bookmark_file_get_size (GBookmarkFile *bookmark)
 
GLIB_AVAILABLE_IN_ALL gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark, gsize *length)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group, GError **error)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, GError **error)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark, const gchar *uri, GError **error)
 
GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark, const gchar *old_uri, const gchar *new_uri, GError **error)
 

Macro Definition Documentation

◆ G_BOOKMARK_FILE_ERROR

#define G_BOOKMARK_FILE_ERROR   (g_bookmark_file_error_quark ())

G_BOOKMARK_FILE_ERROR:

Error domain for bookmark file parsing.

Errors in this domain will be from the GBookmarkFileError enumeration. See #GError for information on error domains.

Definition at line 42 of file gbookmarkfile.h.

Typedef Documentation

◆ GBookmarkFile

typedef struct _GBookmarkFile GBookmarkFile

GBookmarkFile:

GBookmarkFile lets you parse, edit or create files containing bookmarks.

Bookmarks refer to a URI, along with some meta-data about the resource pointed by the URI like its MIME type, the application that is registering the bookmark and the icon that should be used to represent the bookmark. The data is stored using the Desktop Bookmark Specification.

The syntax of the bookmark files is described in detail inside the Desktop Bookmark Specification, here is a quick summary: bookmark files use a sub-class of the XML Bookmark Exchange Language specification, consisting of valid UTF-8 encoded XML, under the <xbel> root element; each bookmark is stored inside a <bookmark> element, using its URI: no relative paths can be used inside a bookmark file. The bookmark may have a user defined title and description, to be used instead of the URI. Under the <metadata> element, with its owner attribute set to http://freedesktop.org, is stored the meta-data about a resource pointed by its URI. The meta-data consists of the resource's MIME type; the applications that have registered a bookmark; the groups to which a bookmark belongs to; a visibility flag, used to set the bookmark as "private" to the applications and groups that has it registered; the URI and MIME type of an icon, to be used when displaying the bookmark inside a GUI.

Here is an example of a bookmark file: bookmarks.xbel

A bookmark file might contain more than one bookmark; each bookmark is accessed through its URI.

The important caveat of bookmark files is that when you add a new bookmark you must also add the application that is registering it, using [metho.nosp@m.d@GL.nosp@m.ib.Bo.nosp@m.okma.nosp@m.rkFil.nosp@m.e.ad.nosp@m.d_app.nosp@m.lica.nosp@m.tion] or [metho.nosp@m.d@GL.nosp@m.ib.Bo.nosp@m.okma.nosp@m.rkFil.nosp@m.e.se.nosp@m.t_app.nosp@m.lica.nosp@m.tion_.nosp@m.info]. If a bookmark has no applications then it won't be dumped when creating the on disk representation, using [metho.nosp@m.d@GL.nosp@m.ib.Bo.nosp@m.okma.nosp@m.rkFil.nosp@m.e.to.nosp@m._data] or [metho.nosp@m.d@GL.nosp@m.ib.Bo.nosp@m.okma.nosp@m.rkFil.nosp@m.e.to.nosp@m._file].

Since: 2.12

Definition at line 118 of file gbookmarkfile.h.

Enumeration Type Documentation

◆ GBookmarkFileError

GBookmarkFileError: @G_BOOKMARK_FILE_ERROR_INVALID_URI: URI was ill-formed @G_BOOKMARK_FILE_ERROR_INVALID_VALUE: a requested field was not found @G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: a requested application did not register a bookmark @G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: a requested URI was not found @G_BOOKMARK_FILE_ERROR_READ: document was ill formed @G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: the text being parsed was in an unknown encoding @G_BOOKMARK_FILE_ERROR_WRITE: an error occurred while writing @G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: requested file was not found

Error codes returned by bookmark file parsing.

Enumerator
G_BOOKMARK_FILE_ERROR_INVALID_URI 
G_BOOKMARK_FILE_ERROR_INVALID_VALUE 
G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED 
G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND 
G_BOOKMARK_FILE_ERROR_READ 
G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING 
G_BOOKMARK_FILE_ERROR_WRITE 
G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND 

Definition at line 60 of file gbookmarkfile.h.

Function Documentation

◆ g_bookmark_file_add_application()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_add_application ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * name,
const gchar * exec )

◆ g_bookmark_file_add_group()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_add_group ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * group )

◆ g_bookmark_file_copy()

GLIB_AVAILABLE_IN_2_76 GBookmarkFile * g_bookmark_file_copy ( GBookmarkFile * bookmark)

◆ g_bookmark_file_error_quark()

GLIB_AVAILABLE_IN_ALL GQuark g_bookmark_file_error_quark ( void )

◆ g_bookmark_file_free()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_free ( GBookmarkFile * bookmark)

◆ g_bookmark_file_get_added()

time_t g_bookmark_file_get_added ( GBookmarkFile * bookmark,
const gchar * uri,
GError ** error )

◆ g_bookmark_file_get_added_date_time()

GLIB_AVAILABLE_IN_2_66 GDateTime * g_bookmark_file_get_added_date_time ( GBookmarkFile * bookmark,
const char * uri,
GError ** error )

◆ g_bookmark_file_get_app_info()

gboolean g_bookmark_file_get_app_info ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * name,
gchar ** exec,
guint * count,
time_t * stamp,
GError ** error )

◆ g_bookmark_file_get_application_info()

GLIB_AVAILABLE_IN_2_66 gboolean g_bookmark_file_get_application_info ( GBookmarkFile * bookmark,
const char * uri,
const char * name,
char ** exec,
unsigned int * count,
GDateTime ** stamp,
GError ** error )

◆ g_bookmark_file_get_applications()

GLIB_AVAILABLE_IN_ALL gchar ** g_bookmark_file_get_applications ( GBookmarkFile * bookmark,
const gchar * uri,
gsize * length,
GError ** error )

◆ g_bookmark_file_get_description()

GLIB_AVAILABLE_IN_ALL gchar * g_bookmark_file_get_description ( GBookmarkFile * bookmark,
const gchar * uri,
GError ** error )

◆ g_bookmark_file_get_groups()

GLIB_AVAILABLE_IN_ALL gchar ** g_bookmark_file_get_groups ( GBookmarkFile * bookmark,
const gchar * uri,
gsize * length,
GError ** error )

◆ g_bookmark_file_get_icon()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_get_icon ( GBookmarkFile * bookmark,
const gchar * uri,
gchar ** href,
gchar ** mime_type,
GError ** error )

◆ g_bookmark_file_get_is_private()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_get_is_private ( GBookmarkFile * bookmark,
const gchar * uri,
GError ** error )

◆ g_bookmark_file_get_mime_type()

GLIB_AVAILABLE_IN_ALL gchar * g_bookmark_file_get_mime_type ( GBookmarkFile * bookmark,
const gchar * uri,
GError ** error )

◆ g_bookmark_file_get_modified()

time_t g_bookmark_file_get_modified ( GBookmarkFile * bookmark,
const gchar * uri,
GError ** error )

◆ g_bookmark_file_get_modified_date_time()

GLIB_AVAILABLE_IN_2_66 GDateTime * g_bookmark_file_get_modified_date_time ( GBookmarkFile * bookmark,
const char * uri,
GError ** error )

◆ g_bookmark_file_get_size()

GLIB_AVAILABLE_IN_ALL gint g_bookmark_file_get_size ( GBookmarkFile * bookmark)

◆ g_bookmark_file_get_title()

GLIB_AVAILABLE_IN_ALL gchar * g_bookmark_file_get_title ( GBookmarkFile * bookmark,
const gchar * uri,
GError ** error )

◆ g_bookmark_file_get_uris()

GLIB_AVAILABLE_IN_ALL gchar ** g_bookmark_file_get_uris ( GBookmarkFile * bookmark,
gsize * length )

◆ g_bookmark_file_get_visited()

time_t g_bookmark_file_get_visited ( GBookmarkFile * bookmark,
const gchar * uri,
GError ** error )

◆ g_bookmark_file_get_visited_date_time()

GLIB_AVAILABLE_IN_2_66 GDateTime * g_bookmark_file_get_visited_date_time ( GBookmarkFile * bookmark,
const char * uri,
GError ** error )

◆ g_bookmark_file_has_application()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_has_application ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * name,
GError ** error )

◆ g_bookmark_file_has_group()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_has_group ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * group,
GError ** error )

◆ g_bookmark_file_has_item()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_has_item ( GBookmarkFile * bookmark,
const gchar * uri )

◆ g_bookmark_file_load_from_data()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_load_from_data ( GBookmarkFile * bookmark,
const gchar * data,
gsize length,
GError ** error )

◆ g_bookmark_file_load_from_data_dirs()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_load_from_data_dirs ( GBookmarkFile * bookmark,
const gchar * file,
gchar ** full_path,
GError ** error )

◆ g_bookmark_file_load_from_file()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_load_from_file ( GBookmarkFile * bookmark,
const gchar * filename,
GError ** error )

◆ g_bookmark_file_move_item()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_move_item ( GBookmarkFile * bookmark,
const gchar * old_uri,
const gchar * new_uri,
GError ** error )

◆ g_bookmark_file_new()

GLIB_AVAILABLE_IN_ALL GBookmarkFile * g_bookmark_file_new ( void )

◆ g_bookmark_file_remove_application()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_remove_application ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * name,
GError ** error )

◆ g_bookmark_file_remove_group()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_remove_group ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * group,
GError ** error )

◆ g_bookmark_file_remove_item()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_remove_item ( GBookmarkFile * bookmark,
const gchar * uri,
GError ** error )

◆ g_bookmark_file_set_added()

void g_bookmark_file_set_added ( GBookmarkFile * bookmark,
const gchar * uri,
time_t added )

◆ g_bookmark_file_set_added_date_time()

GLIB_AVAILABLE_IN_2_66 void g_bookmark_file_set_added_date_time ( GBookmarkFile * bookmark,
const char * uri,
GDateTime * added )

◆ g_bookmark_file_set_app_info()

gboolean g_bookmark_file_set_app_info ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * name,
const gchar * exec,
gint count,
time_t stamp,
GError ** error )

◆ g_bookmark_file_set_application_info()

GLIB_AVAILABLE_IN_2_66 gboolean g_bookmark_file_set_application_info ( GBookmarkFile * bookmark,
const char * uri,
const char * name,
const char * exec,
int count,
GDateTime * stamp,
GError ** error )

◆ g_bookmark_file_set_description()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_description ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * description )

◆ g_bookmark_file_set_groups()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_groups ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar ** groups,
gsize length )

◆ g_bookmark_file_set_icon()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_icon ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * href,
const gchar * mime_type )

◆ g_bookmark_file_set_is_private()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_is_private ( GBookmarkFile * bookmark,
const gchar * uri,
gboolean is_private )

◆ g_bookmark_file_set_mime_type()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_mime_type ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * mime_type )

◆ g_bookmark_file_set_modified()

void g_bookmark_file_set_modified ( GBookmarkFile * bookmark,
const gchar * uri,
time_t modified )

◆ g_bookmark_file_set_modified_date_time()

GLIB_AVAILABLE_IN_2_66 void g_bookmark_file_set_modified_date_time ( GBookmarkFile * bookmark,
const char * uri,
GDateTime * modified )

◆ g_bookmark_file_set_title()

GLIB_AVAILABLE_IN_ALL void g_bookmark_file_set_title ( GBookmarkFile * bookmark,
const gchar * uri,
const gchar * title )

◆ g_bookmark_file_set_visited()

void g_bookmark_file_set_visited ( GBookmarkFile * bookmark,
const gchar * uri,
time_t visited )

◆ g_bookmark_file_set_visited_date_time()

GLIB_AVAILABLE_IN_2_66 void g_bookmark_file_set_visited_date_time ( GBookmarkFile * bookmark,
const char * uri,
GDateTime * visited )

◆ g_bookmark_file_to_data()

GLIB_AVAILABLE_IN_ALL gchar * g_bookmark_file_to_data ( GBookmarkFile * bookmark,
gsize * length,
GError ** error )

◆ g_bookmark_file_to_file()

GLIB_AVAILABLE_IN_ALL gboolean g_bookmark_file_to_file ( GBookmarkFile * bookmark,
const gchar * filename,
GError ** error )