2
Copyright (C) 2007 Christian Dywan <christian@twotoasts.de>
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Lesser General Public
6
License as published by the Free Software Foundation; either
7
version 2.1 of the License, or (at your option) any later version.
9
See the file COPYING for the full license text.
16
#include <glib-object.h>
18
#define XBEL_ERROR g_quark_from_string("XBEL_ERROR")
22
XBEL_ERROR_INVALID_URI, /* Malformed uri */
23
XBEL_ERROR_INVALID_VALUE, /* Requested field not found */
24
XBEL_ERROR_URI_NOT_FOUND, /* Requested uri not found */
25
XBEL_ERROR_READ, /* Malformed document */
26
XBEL_ERROR_UNKNOWN_ENCODING, /* Parsed text was in an unknown encoding */
27
XBEL_ERROR_WRITE, /* Writing failed. */
37
// Note: This structure is entirely private.
41
struct XbelItem* parent;
43
GList* items; // folder
44
gboolean folded; // foolder
45
gchar* title; // !separator
46
gchar* desc; // folder and bookmark
47
gchar* href; // bookmark
48
//time_t added; // !separator
49
//time_t modfied; // bookmark
50
//time_t visited; // bookmark
54
xbel_bookmark_new(void);
57
xbel_separator_new(void);
60
xbel_folder_new(void);
63
xbel_item_free(XbelItem*);
66
xbel_item_copy(XbelItem*);
71
#define G_TYPE_XBEL_ITEM xbel_item_get_type()
74
xbel_folder_append_item(XbelItem*, XbelItem*);
77
xbel_folder_prepend_item(XbelItem*, XbelItem*);
80
xbel_folder_remove_item(XbelItem*, XbelItem*);
83
xbel_folder_get_n_items(XbelItem*);
86
xbel_folder_get_nth_item(XbelItem*, guint);
89
xbel_folder_is_empty(XbelItem*);
92
xbel_folder_get_folded(XbelItem*);
95
xbel_item_get_kind(XbelItem*);
98
xbel_item_get_parent(XbelItem*);
100
G_CONST_RETURN gchar*
101
xbel_item_get_title(XbelItem*);
103
G_CONST_RETURN gchar*
104
xbel_item_get_desc(XbelItem*);
106
G_CONST_RETURN gchar*
107
xbel_bookmark_get_href(XbelItem*);
110
xbel_bookmark_get_added(XbelItem*);
113
xbel_bookmark_get_modified(XbelItem*);
116
xbel_bookmark_get_visited(XbelItem*);*/
119
xbel_item_is_bookmark(XbelItem*);
122
xbel_item_is_separator(XbelItem*);
125
xbel_item_is_folder(XbelItem*);
128
xbel_folder_set_folded(XbelItem*, gboolean);
131
xbel_item_set_title(XbelItem*, const gchar*);
134
xbel_item_set_desc(XbelItem*, const gchar*);
137
xbel_bookmark_set_href(XbelItem*, const gchar*);
140
xbel_folder_from_data(XbelItem*, const gchar*, GError**);
143
xbel_folder_from_file(XbelItem*, const gchar*, GError**);
146
xbel_folder_from_data_dirs(XbelItem*, const gchar*, gchar**, GError**);
149
xbel_folder_to_data(XbelItem*, gsize*, GError**);
152
xbel_folder_to_file(XbelItem*, const gchar*, GError**);
154
#endif /* !__XBEL_H__ */