| |
Справочное описание GLib | ||||
---|---|---|---|---|
#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.
typedef struct _GBookmarkFile GBookmarkFile;
Структура GBookmarkFile содержит только закрытые данные к которым нет прямого доступа.
#define G_BOOKMARK_FILE_ERROR (g_bookmark_file_error_quark ())
Домен ошибки для анализатора файла закладок. Ошибки в этом домене из перечисления GBookmarkFileError. Смотрите GError для информации о доменах ошибки.
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;
Коды ошибок возвращаемые анализатором файла закладок.
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
void g_bookmark_file_free (GBookmarkFile *bookmark);
Освобождает GBookmarkFile.
bookmark : |
GBookmarkFile |
Начиная с версии 2.12
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
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
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
gchar* g_bookmark_file_to_data (GBookmarkFile *bookmark, gsize *length, GError **error);
Эта функция выводит bookmark
как строку.
bookmark : |
GBookmarkFile |
length : |
расположение для длины возвращаемой строки, или NULL
|
error : |
расположение для возвращаемой GError,
или NULL
|
Возвращает : | вновь распределённая строка содержащая GBookmarkFile |
Начиная с версии 2.12
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
gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark, const gchar *uri);
Находит имеет ли desktop закладка элемент URI установленный в uri
.
bookmark : |
GBookmarkFile |
uri : |
правильный URI |
Возвращает : | TRUE если uri
находится внутри bookmark , иначе
FALSE
|
Начиная с версии 2.12
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
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
gint g_bookmark_file_get_size (GBookmarkFile *bookmark);
Определяет количество закладок в bookmark
.
bookmark : |
GBookmarkFile |
Возвращает : | количество закладок |
Начиная с версии 2.12
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
void g_bookmark_file_add_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group);
Добавляет group
в список групп к которым принадлежит закладка для uri
.
Если закладка для uri
не найдена, то она создаётся.
bookmark : |
GBookmarkFile |
uri : |
правильный URI |
group : |
имя добавляемой группы |
Начиная с версии 2.12
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
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
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
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
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
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |