The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Bookmark file parser

Bookmark file parser — Анализ файлов содержащих закладки

Краткое описание


#include <glib.h>


            GBookmarkFile;
#define     G_BOOKMARK_FILE_ERROR
enum        GBookmarkFileError;
GBookmarkFile* g_bookmark_file_new          (void);
void        g_bookmark_file_free            (GBookmarkFile *bookmark);
gboolean    g_bookmark_file_load_from_file  (GBookmarkFile *bookmark,
                                             const gchar *filename,
                                             GError **error);
gboolean    g_bookmark_file_load_from_data  (GBookmarkFile *bookmark,
                                             const gchar *data,
                                             gsize length,
                                             GError **error);
gboolean    g_bookmark_file_load_from_data_dirs
                                            (GBookmarkFile *bookmark,
                                             const gchar *file,
                                             gchar **full_path,
                                             GError **error);
gchar*      g_bookmark_file_to_data         (GBookmarkFile *bookmark,
                                             gsize *length,
                                             GError **error);
gboolean    g_bookmark_file_to_file         (GBookmarkFile *bookmark,
                                             const gchar *filename,
                                             GError **error);
gboolean    g_bookmark_file_has_item        (GBookmarkFile *bookmark,
                                             const gchar *uri);
gboolean    g_bookmark_file_has_group       (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *group,
                                             GError **error);
gboolean    g_bookmark_file_has_application (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *name,
                                             GError **error);
gint        g_bookmark_file_get_size        (GBookmarkFile *bookmark);
gchar**     g_bookmark_file_get_uris        (GBookmarkFile *bookmark,
                                             gsize *length);

gchar*      g_bookmark_file_get_title       (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             GError **error);
gchar*      g_bookmark_file_get_description (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             GError **error);
gchar*      g_bookmark_file_get_mime_type   (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             GError **error);
gboolean    g_bookmark_file_get_is_private  (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             GError **error);
gboolean    g_bookmark_file_get_icon        (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             gchar **href,
                                             gchar **mime_type,
                                             GError **error);
time_t      g_bookmark_file_get_added       (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             GError **error);
time_t      g_bookmark_file_get_modified    (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             GError **error);
time_t      g_bookmark_file_get_visited     (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             GError **error);
gchar**     g_bookmark_file_get_groups      (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             gsize *length,
                                             GError **error);
gchar**     g_bookmark_file_get_applications
                                            (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             gsize *length,
                                             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);

void        g_bookmark_file_set_title       (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *title);
void        g_bookmark_file_set_description (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *description);
void        g_bookmark_file_set_mime_type   (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *mime_type);
void        g_bookmark_file_set_is_private  (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             gboolean is_private);
void        g_bookmark_file_set_icon        (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *href,
                                             const gchar *mime_type);
void        g_bookmark_file_set_added       (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             time_t added);
void        g_bookmark_file_set_groups      (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar **groups,
                                             gsize length);
void        g_bookmark_file_set_modified    (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             time_t modified);
void        g_bookmark_file_set_visited     (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             time_t visited);
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);
void        g_bookmark_file_add_group       (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *group);
void        g_bookmark_file_add_application (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *name,
                                             const gchar *exec);
gboolean    g_bookmark_file_remove_group    (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *group,
                                             GError **error);
gboolean    g_bookmark_file_remove_application
                                            (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             const gchar *name,
                                             GError **error);
gboolean    g_bookmark_file_remove_item     (GBookmarkFile *bookmark,
                                             const gchar *uri,
                                             GError **error);
gboolean    g_bookmark_file_move_item       (GBookmarkFile *bookmark,
                                             const gchar *old_uri,
                                             const gchar *new_uri,
                                             GError **error);

Описание

GBookmarkFile позволяет вам анализировать, редактировать или создавать файлы содержащие закладки на URI, вместе с некоторыми meta-данными о ресурсе на который указывает URI, например его MIME тип, приложение которое зарегистрировало закладку и значок который должен использоваться для отображения закладки. Данные хранятся согласно Desktop Bookmark Specification.

Синтаксис файлов закладок детально описан в Desktop Bookmark Specification, здесь приведено краткое описание: файлы закладок используют подкласс спецификации XML Bookmark Exchange Language, состоят из XML в правильной кодировке UTF-8, под корневым элементом xbel; каждая закладка сохраняется в элементе bookmark, используя её URI: относительные пути не могут использоваться в файле закладок. Закладка может иметь заголовок и описание определённые пользователем, используемые вместо URI. Под элементом metadata, с его набором атрибутов owner в http://freedesktop.org, хранятся meta-данные о ресурсе указанном URI. Мета-данные состоят из MIME типа ресурса; приложения которое зарегистрировало закладку; группы к которой принадлежит закладка; флага видимости, используемом для установки закладки как "private" для приложений и групп которые имеют регистрацию; URI и MIME тип значка, для изображения закладки внутри GUI.


<?xml version="1.0"?>
<!DOCTYPE xbel PUBLIC 
  "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
  "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
<xbel version="1.0"
      xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
      xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks">
  <bookmark href="file:///home/ebassi/bookmark-spec/bookmark-spec.xml">
    <title>Desktop Bookmarks Spec</title>
    <info>
      <metadata owner="http://freedesktop.org">
        <mime:mime-type>text/xml</mime:mime-type>
	<bookmark:applications>
          <bookmark:application name="GEdit" count="2" exec="gedit <link linkend="u"><literal>u</literal></link>" timestamp="1115726763"/>
          <bookmark:application name="GViM" count="7" exec="gvim <link linkend="f"><literal>f</literal></link>" timestamp="1115726812"/>
	</bookmark:applications>
	<bookmark:groups>
	  <bookmark:group>Editors</bookmark:group>
	</bookmark:groups>
      </metadata>
    </info>
  </bookmark>
</xbel>

Файл закладок может содержать больше одной закладки; к каждой закладке обращаются через её URI.

Важное замечание для файлов закладок в том, что когда вы добавляете закладку вы должны также добавить приложение которое зарегистрировало её, используя g_bookmark_file_add_application() или g_bookmark_file_set_app_info(). Если закладка не имеет приложений, то она будет сброшена при записи на диск, используя g_bookmark_file_to_data() или g_bookmark_file_to_file().

Анализатор GBookmarkFile добавлен в версии GLib 2.12.

Детали

GBookmarkFile

typedef struct _GBookmarkFile GBookmarkFile;

Структура GBookmarkFile содержит только закрытые данные к которым нет прямого доступа.


G_BOOKMARK_FILE_ERROR

#define G_BOOKMARK_FILE_ERROR	(g_bookmark_file_error_quark ())

Домен ошибки для анализатора файла закладок. Ошибки в этом домене из перечисления GBookmarkFileError. Смотрите GError для информации о доменах ошибки.


enum GBookmarkFileError

typedef enum
{
  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
} GBookmarkFileError;

Коды ошибок возвращаемые анализатором файла закладок.

G_BOOKMARK_FILE_ERROR_INVALID_URI URI был не правильно сформирован
G_BOOKMARK_FILE_ERROR_INVALID_VALUE запрашиваемое поле не найдено
G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED запрошенное приложение не зарегистрировано
G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND запрашиваемый URI не найден
G_BOOKMARK_FILE_ERROR_READ документ был не правильно сформирован
G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING анализируемый текст находится в неизвестной кодировке
G_BOOKMARK_FILE_ERROR_WRITE в процессе записи произошла ошибка
G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND запрашиваемый файл не найден

g_bookmark_file_new ()

GBookmarkFile* g_bookmark_file_new          (void);

Создаёт новый пустой объект GBookmarkFile.

Используйте g_bookmark_file_load_from_file(), g_bookmark_file_load_from_data() или g_bookmark_file_load_from_data_dirs() для чтения существующего файла закладок.

Возвращает : пустой GBookmarkFile

Начиная с версии 2.12


g_bookmark_file_free ()

void        g_bookmark_file_free            (GBookmarkFile *bookmark);

Освобождает GBookmarkFile.

bookmark : GBookmarkFile

Начиная с версии 2.12


g_bookmark_file_load_from_file ()

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

Загружает desktop bookmark file в пустую структуру GBookmarkFile. Если файл не загружен, то устанавливается error в GFileError или GBookmarkFileError.

bookmark : пустая структура GBookmarkFile
filename : путь к имени файла для загрузки, в кодировке имён файлов GLib
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если desktop bookmark file не загружен

Начиная с версии 2.12


g_bookmark_file_load_from_data ()

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

Загружает файл закладок из памяти в пустую структуру GBookmarkFile. Если объект не создан, то устанавливается error в GBookmarkFileError.

bookmark : пустая структура GBookmarkFile
data : desktop закладки загруженные в память
length : размер data в байтах
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если desktop закладка не загружена.

Начиная с версии 2.12


g_bookmark_file_load_from_data_dirs ()

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

Эта функция находит desktop bookmark file с именем file в пути который возвращает g_get_user_data_dir() и g_get_system_data_dirs(), загружает в файл bookmark и возвращает полный путь файла в full_path. Если файл не загружен, то error устанавливается либо в GFileError, либо в GBookmarkFileError.

bookmark : GBookmarkFile
file : относительный путь имени файла для открытия и анализа
full_path : расположение для возвращаемой строки содержащей полный путь файла, или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если файл загружен, иначе FALSE

Начиная с версии 2.12


g_bookmark_file_to_data ()

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

Эта функция выводит bookmark как строку.

bookmark : GBookmarkFile
length : расположение для длины возвращаемой строки, или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённая строка содержащая GBookmarkFile

Начиная с версии 2.12


g_bookmark_file_to_file ()

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

Эта функция выводит bookmark в файл. Пишущий процесс будет гарантировано атомарным при внутреннем использовании g_file_set_contents().

bookmark : GBookmarkFile
filename : путь к файлу для записи
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если файл полностью записан.

Начиная с версии 2.12


g_bookmark_file_has_item ()

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

Находит имеет ли desktop закладка элемент URI установленный в uri.

bookmark : GBookmarkFile
uri : правильный URI
Возвращает : TRUE если uri находится внутри bookmark, иначе FALSE

Начиная с версии 2.12


g_bookmark_file_has_group ()

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

Проверяет относится ли group к списку групп к которым принадлежит закладка для uri.

В случае когда URI не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI
group : имя группы для поиска
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если group найдена.

Начиная с версии 2.12


g_bookmark_file_has_application ()

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

Проверяет имеет ли закладка для uri внутри bookmark регистрацию приложения name.

В случае когда URI не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI
name : имя приложения
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если приложение name найдено

Начиная с версии 2.12


g_bookmark_file_get_size ()

gint        g_bookmark_file_get_size        (GBookmarkFile *bookmark);

Определяет количество закладок в bookmark.

bookmark : GBookmarkFile
Возвращает : количество закладок

Начиная с версии 2.12


g_bookmark_file_get_uris ()

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

Возвращает все URIs закладок в файле bookmark. Массив возвращаемых URIs будет NULL-завершённый, поэтому length может опционально быть NULL.

bookmark : GBookmarkFile
length : расположение для количества возвращаемых URIs, или NULL
Возвращает : вновь распределённый NULL-завершённый массив строк. Используйте g_strfreev() для его освобождения.

Начиная с версии 2.12


g_bookmark_file_get_title ()

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

Возвращает заголовок закладки для uri.

Если uri это NULL, возвращает заголовок bookmark.

В случае когда URI не найден, возвращает NULL и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённая строка или NULL если определённый URI не найден.

Начиная с версии 2.12


g_bookmark_file_get_description ()

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

Находит описание закладки для uri.

В случае когда URI не найден, возвращает NULL и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённая строка или NULL если определённый URI не найден.

Начиная с версии 2.12


g_bookmark_file_get_mime_type ()

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

Находит MIME тип источника на который указывает uri.

В случае когда URI не найден, возвращает NULL и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. В случае когда MIME тип не найден, возвращает NULL и устанавливает error в G_BOOKMARK_FILE_ERROR_INVALID_VALUE.

bookmark : GBookmarkFile
uri : правильный URI
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённая строка или NULL если определённый URI не найден.

Начиная с версии 2.12


g_bookmark_file_get_is_private ()

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

Определяет установлен ли приватный флаг закладки для uri.

В случае когда URI не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. В случае когда приватный флаг не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_INVALID_VALUE.

bookmark : GBookmarkFile
uri : правильный URI
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если приватный флаг установлен, иначе FALSE.

Начиная с версии 2.12


g_bookmark_file_get_icon ()

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

Определяет значок закладки для uri.

В случае когда URI не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI
href : расположение для возвращаемого местонахождения значка или NULL
mime_type : расположение для возвращаемого MIME типа значка или NULL
error : расположение для возвращаемого GError или NULL
Возвращает : TRUE если значок закладки для URI найден. Вы должны освободить возвращаемые строки.

Начиная с версии 2.12


g_bookmark_file_get_added ()

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

Определяет время добавления закладки для uri в bookmark

В случае когда URI не найден, возвращает -1 и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI
error : расположение для возвращаемой GError, или NULL
Возвращает : время добавления закладки (timestamp)

Начиная с версии 2.12


g_bookmark_file_get_modified ()

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

Определяет время последней модификации закладки для uri.

В случае когда URI не найден, возвращает -1 и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI
error : расположение для возвращаемой GError, или NULL
Возвращает : Время последней модификации закладки (timestamp)

Начиная с версии 2.12


g_bookmark_file_get_visited ()

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

Определяет время последнего посещения закладки для uri was last visited.

В случае когда URI не найден, возвращает -1 и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI
error : расположение для возвращаемой GError, или NULL
Возвращает : Время последнего посещения (timestamp).

Начиная с версии 2.12


g_bookmark_file_get_groups ()

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

Находит имена групп к которым принадлежит закладка для uri.

В случае когда URI не найден, возвращает NULL и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

Возвращаемый массив является NULL-завершённым, поэтому length может опционально быть NULL.

bookmark : GBookmarkFile
uri : правильный URI
length : расположение длины возвращаемой строки, или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённый NULL-завершённый массив имён групп. Используйте g_strfreev() для его освобождения.

Начиная с версии 2.12


g_bookmark_file_get_applications ()

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

Находит имена приложений которые зарегистрированы закладкой для uri.

В случае когда URI не найден, возвращает NULL и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
uri : правильный URI
length : расположение длины возвращаемого списка, или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённый NULL-завершённый массив строк. Используйте g_strfreev() для его освобождения.

Начиная с версии 2.12


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

Получает регистрационную информацию app_name закладки для uri. Смотрите g_bookmark_file_set_app_info() для получения информации о возвращаемых данных.

Строка возвращаемая в app_exec должна быть освобождена.

В случае когда URI не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. В случае когда нет приложения с именем app_name зарегистрированного закладкой для uri, возвращает FALSE и устанавливает ошибку в G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED.

bookmark : GBookmarkFile
uri : правильный URI
name : имя приложения
exec : расположение для командной строки приложения, или NULL
count : расположение для возвращаемого количества регистраций, или NULL
stamp : расположение для возвращаемого времени последней регистрации, или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE при успешном выполнении.

Начиная с версии 2.12


g_bookmark_file_set_title ()

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

Устанавливает title как заголовок закладки для uri внутри файла закладок bookmark.

Если uri это NULL, устанавливает заголовок bookmark.

Если закладка для uri не найдена, то она создаётся.

bookmark : GBookmarkFile
uri : правильный URI или NULL
title : строка в кодировке UTF-8

Начиная с версии 2.12


g_bookmark_file_set_description ()

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

Устанавливает description как описание закладки для uri.

Если uri это NULL, устанавливает описание bookmark.

Если закладка для uri не найдена, то она создаётся.

bookmark : GBookmarkFile
uri : правильный URI или NULL
description : строка

Начиная с версии 2.12


g_bookmark_file_set_mime_type ()

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

Устанавливает mime_type как MIME тип закладки для uri.

Если закладка для uri не найдена, то она создаётся.

bookmark : GBookmarkFile
uri : правильный URI
mime_type : MIME тип

Начиная с версии 2.12


g_bookmark_file_set_is_private ()

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

Устанавливает приватный флаг закладки для uri.

Если закладка для uri не найдена, то она создаётся.

bookmark : GBookmarkFile
uri : правильный URI
is_private : TRUE если закладка должна быть помечена как закрытая

Начиная с версии 2.12


g_bookmark_file_set_icon ()

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

Устанавливает значок закладки для uri. Если href это NULL, сбрасывает установленный в текущий момент значок.

Если нет найденной закладки для uri, она создаётся.

bookmark : GBookmarkFile
uri : правильный URI
href : URI значка для закладки, или NULL
mime_type : MIME тип значка для закладки

Начиная с версии 2.12


g_bookmark_file_set_added ()

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

Устанавливает время добавления закладки для uri в bookmark.

Если нет найденной закладки для uri, то она создаётся.

bookmark : GBookmarkFile
uri : правильный URI
added : временная отметка или -1 для использования текущего времени

Начиная с версии 2.12


g_bookmark_file_set_groups ()

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

Устанавливает список имён групп для элементов с uri. Каждое предварительно установленное имя группы списка удаляется.

Если uri не найден, то элементы для него создаются.

bookmark : GBookmarkFile
uri : URI элемент
groups : массив имён групп, или NULL для удаления всех групп
length : количество имен групп в groups

Начиная с версии 2.12


g_bookmark_file_set_modified ()

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

Устанавливает время последнего изменения закладки для uri.

Если закладка для uri не найдена, то она создаётся.

Время изменения закладки должно устанавливаться только когда meta-данные были фактически изменены. Все функции GBookmarkFile которые изменяют закладку также изменяют время модификации, за исключением g_bookmark_file_set_visited().

bookmark : GBookmarkFile
uri : правильный URI
modified : временная отметка или -1 для использования текущего времени

Начиная с версии 2.12


g_bookmark_file_set_visited ()

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

Устанавливает время последнего посещения закладки для uri.

Если закладка для uri не найдена, то она создаётся.

Время посещения должно устанавливаться только если закладка была задействована, любое использование командной строки найденное с помощью g_bookmark_file_get_app_info() или приложение по умолчанию для закладки MIME типа найденное с использованием g_bookmark_file_get_mime_type(). Изменение времени "посещения" не влияет на время "модификации".

bookmark : GBookmarkFile
uri : правильный URI
visited : временная метка или -1 для использования текущего времени

Начиная с версии 2.12


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

Устанавливает meta-данные приложения name в список приложений которые были зарегистрированы закладкой для uri внутри bookmark.

Вы должны редко использовать эту функцию; вместо неё используйте g_bookmark_file_add_application() и g_bookmark_file_remove_application().

name может быть любой строкой в кодировке UTF-8 используемой для идентификации приложения. exec может иметь один из двух модификаторов: "f", который будет расшифрован как локальное имя файла полученное из URI закладки; "u", который будет расшифрован как закладка URI. Расшифровка выполняется автоматически когда находится сохранённая командная строка используя функцию g_bookmark_file_get_app_info(). count это количество регистраций приложения закладкой; если < 0, текущее количество регистраций будет увеличено на одну, если 0, приложение с именем name будет удалено из списка зарегистрированных приложений. stamp Unix время последней регистрации; если -1, используется текущее время.

Если вы попытаетесь удалить приложение установив количество его регистраций в ноль, а закладка для uri не найдена, то вернётся FALSE и установится error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; точно так же, в случае когда нет приложения с именем name зарегистрированного закладкой для uri, то возвращается FALSE и устанавливается ошибка в G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Иначе, если закладка для uri не найдена, то она создаётся.

bookmark : GBookmarkFile
uri : правильный URI
name : имя приложения
exec : командная строка приложения
count : количество выполненных регистраций для приложения
stamp : время последней регистрации для приложения
error : расположение для возвращаемой GError или NULL
Возвращает : TRUE если meta-данные приложения полностью изменены.

Начиная с версии 2.12


g_bookmark_file_add_group ()

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

Добавляет group в список групп к которым принадлежит закладка для uri.

Если закладка для uri не найдена, то она создаётся.

bookmark : GBookmarkFile
uri : правильный URI
group : имя добавляемой группы

Начиная с версии 2.12


g_bookmark_file_add_application ()

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

Добавляет приложение с именем name и exec в список приложений, которые зарегистрированы закладкой для uri, в bookmark.

Все закладки внутри GBookmarkFile должны иметь по меньшей мере одно зарегистрированное приложение. Каждое приложение должно иметь имя, командная строка полезна для запуска закладки, количество регистраций закладкой приложения и время последней регистрации приложения этой закладкой.

Если name это NULL, имя приложения будет тем что возвращает функция g_get_application(); если exec это NULL, командная строка будет состоять из имени программы которое возвращает g_get_prgname() и модификатора "u", который будет расшифрован как URI закладки.

Эта функция автоматически обновляет количество регистраций и timestamping в случае когда приложение с именем name уже зарегистрировано закладкой для uri внутри bookmark.

Если закладка для uri не найдена, то она создаётся.

bookmark : GBookmarkFile
uri : правильный URI
name : имя приложения зарегистрированное закладкой, или NULL
exec : командная строка используемая для активации закладки, или NULL

Начиная с версии 2.12


g_bookmark_file_remove_group ()

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

Удаляет group из списка групп к которым принадлежит закладка для uri.

В случае когда URI не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. В случае когда группа не определена, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_INVALID_VALUE.

bookmark : GBookmarkFile
uri : правильный URI
group : имя группы для удаления
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если group была полностью удалена.

Начиная с версии 2.12


g_bookmark_file_remove_application ()

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

Удаляет регистрацию приложения с именем name из списка приложений которые зарегистрированы закладкой для uri внутри bookmark.

В случае когда URI не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. В случае когда приложение с именем app_name не зарегистрировано закладкой для uri, возвращает FALSE и устанавливает ошибку в G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED.

bookmark : GBookmarkFile
uri : правильный URI
name : имя приложения
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если приложение полностью удалено.

Начиная с версии 2.12


g_bookmark_file_remove_item ()

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

Удаляет закладку для uri из файла закладок bookmark.

bookmark : GBookmarkFile
uri : правильный URI
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если закладка была полностью удалена.

Начиная с версии 2.12


g_bookmark_file_move_item ()

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

Изменяет URI закладки из параметра old_uri на new_uri. Любые существующие закладки для new_uri будут переписаны. Если new_uri это NULL, тогда закладка удаляется.

В случае когда URI не найден, возвращает FALSE и устанавливает error в G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.

bookmark : GBookmarkFile
old_uri : правильный URI
new_uri : правильный URI, или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если URI полностью изменён

Начиная с версии 2.12




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру