Bookmark file parser parses files containing bookmarks #GBookmarkFile lets you parse, edit or create files containing bookmarks to 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. Desktop Bookmarks Spec text/xml Editors ]]> 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 g_bookmark_file_add_application() or g_bookmark_file_set_app_info(). If a bookmark has no applications then it won't be dumped when creating the on disk representation, using g_bookmark_file_to_data() or g_bookmark_file_to_file(). The GBookmarkFile struct contains only private data and should not be used directly. Error domain for bookmark file parsing. Errors in this domain will be from the #GBookmarkFileError enumeration. See #GError for informations on error domains. Error codes returned by bookmark file parsing. @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 @Returns: @bookmark: @bookmark: @filename: @error: @Returns: @bookmark: @data: @length: @error: @Returns: @bookmark: @file: @full_path: @error: @Returns: @bookmark: @length: @error: @Returns: @bookmark: @filename: @error: @Returns: @bookmark: @uri: @Returns: @bookmark: @uri: @group: @error: @Returns: @bookmark: @uri: @name: @error: @Returns: @bookmark: @Returns: @bookmark: @length: @Returns: @bookmark: @uri: @error: @Returns: @bookmark: @uri: @error: @Returns: @bookmark: @uri: @error: @Returns: @bookmark: @uri: @error: @Returns: @bookmark: @uri: @href: @mime_type: @error: @Returns: @bookmark: @uri: @error: @Returns: @bookmark: @uri: @error: @Returns: @bookmark: @uri: @error: @Returns: @bookmark: @uri: @length: @error: @Returns: @bookmark: @uri: @length: @error: @Returns: @bookmark: @uri: @name: @exec: @count: @stamp: @error: @Returns: @bookmark: @uri: @title: @bookmark: @uri: @description: @bookmark: @uri: @mime_type: @bookmark: @uri: @is_private: @bookmark: @uri: @href: @mime_type: @bookmark: @uri: @added: @bookmark: @uri: @groups: @length: @bookmark: @uri: @modified: @bookmark: @uri: @visited: @bookmark: @uri: @name: @exec: @count: @stamp: @error: @Returns: @bookmark: @uri: @group: @bookmark: @uri: @name: @exec: @bookmark: @uri: @group: @error: @Returns: @bookmark: @uri: @name: @error: @Returns: @bookmark: @uri: @error: @bookmark: @old_uri: @new_uri: @error: @Returns: