? docs/reference/glib/tmpl/bookmarkfile.sgml
? glib/gbookmarkfile.c
? glib/gbookmarkfile.h
? tests/bookmarkfile-test.c
? tests/bookmarks
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/glib/ChangeLog,v
retrieving revision 1.2272
diff -p -a -u -r1.2272 ChangeLog
--- ChangeLog	24 Mar 2006 15:21:28 -0000	1.2272
+++ ChangeLog	24 Mar 2006 23:35:31 -0000
@@ -1,3 +1,25 @@
+2006-03-25  Emmanuele Bassi  <ebassi@cvs.gnome.org>
+
+	* glib/glib.h:
+	* glib/gbookmarkfile.h
+	* glib/gbookmarkfile.c: Add GBookmarkFile, a parser for files
+	containing bookmarks stored using the Desktop Bookmark
+	specification. Fixes bug #327662.
+
+	* glib/glib.symbols:
+	* glib/Makefile.in:
+	* glib/makefile.msc.in:
+	* glib/makefile.mingw.in: Build glue for GBookmarkFile.
+
+	* tests/.cvsignore:
+	* tests/bookmarkfile-test.c: Test suite for the GBookmarkFile
+
+	* docs/reference/glib/glib-docs.sgml:
+	* docs/reference/glib/glib-sections.txt:
+	* docs/reference/glib/tmpl/bookmarkfile.sgml: Add documentation
+	for the GBookmarkFile object and its API, and hook it up to
+	GLib's reference.
+
 2006-03-24  Martyn Russell  <martyn@imendio.com>
 
 	* glib/gthreadpool.c: Updated the documentation to explain that
Index: docs/reference/glib/glib-docs.sgml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/glib/glib-docs.sgml,v
retrieving revision 1.25
diff -p -a -u -r1.25 glib-docs.sgml
--- docs/reference/glib/glib-docs.sgml	2 Jan 2006 13:50:15 -0000	1.25
+++ docs/reference/glib/glib-docs.sgml	24 Mar 2006 23:35:31 -0000
@@ -57,6 +57,7 @@
 <!ENTITY glib-Option SYSTEM "xml/option.xml">
 <!ENTITY glib-Markup SYSTEM "xml/markup.xml">
 <!ENTITY glib-Keyfile SYSTEM "xml/keyfile.xml">
+<!ENTITY glib-Bookmarkfile SYSTEM "xml/bookmarkfile.xml">
 <!ENTITY glib-i18n SYSTEM "xml/i18n.xml">
 <!ENTITY glib-Version SYSTEM "xml/version.xml">
 
@@ -149,6 +150,7 @@ synchronize their operation.
     &glib-Pattern-Matching;
     &glib-Markup;
     &glib-Keyfile;
+    &glib-Bookmarkfile;
     &glib-Windows-Compatibility-Functions;
   </chapter>
 
Index: docs/reference/glib/glib-sections.txt
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/glib/glib-sections.txt,v
retrieving revision 1.141
diff -p -a -u -r1.141 glib-sections.txt
--- docs/reference/glib/glib-sections.txt	23 Mar 2006 02:54:29 -0000	1.141
+++ docs/reference/glib/glib-sections.txt	24 Mar 2006 23:35:31 -0000
@@ -1490,6 +1490,60 @@ g_key_file_error_quark
 </SECTION>
 
 <SECTION>
+<TITLE>Bookmark file parser</TITLE>
+<FILE>bookmarkfile</FILE>
+GBookmarkFile
+G_BOOKMARK_FILE_ERROR
+GBookmarkFileError
+g_bookmark_file_new
+g_bookmark_file_free
+g_bookmark_file_load_from_file
+g_bookmark_file_load_from_data
+g_bookmark_file_load_from_data_dirs
+g_bookmark_file_to_data
+g_bookmark_file_to_file
+g_bookmark_file_has_item
+g_bookmark_file_has_group
+g_bookmark_file_has_application
+g_bookmark_file_get_size
+g_bookmark_file_get_uris G_GNUC_MALLOC
+
+<SUBSECTION>
+g_bookmark_file_get_title
+g_bookmark_file_get_description
+g_bookmark_file_get_mime_type
+g_bookmark_file_get_is_private
+g_bookmark_file_get_icon
+g_bookmark_file_get_added
+g_bookmark_file_get_modified
+g_bookmark_file_get_visited
+g_bookmark_file_get_groups
+g_bookmark_file_get_applications
+g_bookmark_file_get_app_info
+
+<SUBSECTION>
+g_bookmark_file_set_title
+g_bookmark_file_set_description
+g_bookmark_file_set_mime_type
+g_bookmark_file_set_is_private
+g_bookmark_file_set_icon
+g_bookmark_file_set_added
+g_bookmark_file_set_groups
+g_bookmark_file_set_modified
+g_bookmark_file_set_visited
+g_bookmark_file_set_app_info
+g_bookmark_file_add_group
+g_bookmark_file_add_application
+g_bookmark_file_remove_group
+g_bookmark_file_remove_application
+g_bookmark_file_remove_item
+g_bookmark_file_move_item
+
+<SUBSECTION Private>
+g_bookmark_file_error_quark
+</SECTION>
+
+<SECTION>
 <TITLE>Dynamic Loading of Modules</TITLE>
 <FILE>modules</FILE>
 <INCLUDE>gmodule.h</INCLUDE>
Index: docs/reference/glib/tmpl/date.sgml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/glib/tmpl/date.sgml,v
retrieving revision 1.27
diff -p -a -u -r1.27 date.sgml
--- docs/reference/glib/tmpl/date.sgml	10 Feb 2006 18:47:07 -0000	1.27
+++ docs/reference/glib/tmpl/date.sgml	24 Mar 2006 23:35:32 -0000
@@ -112,6 +112,25 @@ length of the sleep.
 @microseconds: 
 
 
+<!-- ##### FUNCTION g_time_val_from_iso8601 ##### -->
+<para>
+
+</para>
+
+@iso_date: 
+@time_: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_time_val_to_iso8601 ##### -->
+<para>
+
+</para>
+
+@time_: 
+@Returns: 
+
+
 <!-- ##### STRUCT GDate ##### -->
 <para>
 Represents a day between January 1, Year 1 and a few thousand years in
Index: docs/reference/glib/tmpl/messages.sgml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/glib/tmpl/messages.sgml,v
retrieving revision 1.36
diff -p -a -u -r1.36 messages.sgml
--- docs/reference/glib/tmpl/messages.sgml	7 Mar 2006 18:30:19 -0000	1.36
+++ docs/reference/glib/tmpl/messages.sgml	24 Mar 2006 23:35:32 -0000
@@ -131,6 +131,12 @@ A convenience function/macro to log a no
 
 @...:
 
+@...:
+
+@...:
+
+@...:
+
 @...: 
 
 
@@ -156,6 +162,12 @@ A convenience function/macro to log a wa
 
 @...:
 
+@...:
+
+@...:
+
+@...:
+
 @...: 
 
 
@@ -185,6 +197,12 @@ example.
 
 @...:
 
+@...:
+
+@...:
+
+@...:
+
 @...: 
 
 
@@ -215,6 +233,12 @@ assertion failure.
 
 @...:
 
+@...:
+
+@...:
+
+@...:
+
 @...: 
 
 
@@ -224,6 +248,12 @@ A convenience function/macro to log a de
 </para>
 
 @...: format string, followed by parameters to insert into the format string (as with printf())
+
+@...:
+
+@...:
+
+@...:
 
 @...:
 
Index: glib/Makefile.am
===================================================================
RCS file: /cvs/gnome/glib/glib/Makefile.am,v
retrieving revision 1.139
diff -p -a -u -r1.139 Makefile.am
--- glib/Makefile.am	1 Dec 2005 16:34:19 -0000	1.139
+++ glib/Makefile.am	24 Mar 2006 23:35:32 -0000
@@ -72,6 +72,7 @@ libglib_2_0_la_SOURCES = 	\
 	gasyncqueue.c		\
 	gatomic.c		\
 	gbacktrace.c		\
+	gbookmarkfile.c 	\
 	gbsearcharray.h		\
 	gcache.c		\
 	gcompletion.c		\
@@ -148,6 +149,7 @@ glibsubinclude_HEADERS =   \
 	gasyncqueue.h	\
 	gatomic.h	\
 	gbacktrace.h	\
+	gbookmarkfile.h \
 	gcache.h	\
 	gcompletion.h	\
 	gconvert.h	\
Index: glib/glib.h
===================================================================
RCS file: /cvs/gnome/glib/glib/glib.h,v
retrieving revision 1.222
diff -p -a -u -r1.222 glib.h
--- glib/glib.h	25 Jun 2005 03:38:30 -0000	1.222
+++ glib/glib.h	24 Mar 2006 23:35:32 -0000
@@ -32,6 +32,7 @@
 #include <glib/gasyncqueue.h>
 #include <glib/gatomic.h>
 #include <glib/gbacktrace.h>
+#include <glib/gbookmarkfile.h>
 #include <glib/gcache.h>
 #include <glib/gcompletion.h>
 #include <glib/gconvert.h>
Index: glib/glib.symbols
===================================================================
RCS file: /cvs/gnome/glib/glib/glib.symbols,v
retrieving revision 1.58
diff -p -a -u -r1.58 glib.symbols
--- glib/glib.symbols	23 Mar 2006 02:54:28 -0000	1.58
+++ glib/glib.symbols	24 Mar 2006 23:35:32 -0000
@@ -103,6 +103,51 @@ g_on_error_stack_trace
 #endif
 #endif
 
+#if IN_HEADER(__G_BOOKMARK_FILE_H__)
+#if IN_FILE(__G_BOOKMARK_FILE_C__)
+g_bookmark_file_error_quark
+g_bookmark_file_new
+g_bookmark_file_free
+g_bookmark_file_load_from_file
+g_bookmark_file_load_from_data
+g_bookmark_file_load_from_data_dirs
+g_bookmark_file_to_data
+g_bookmark_file_to_file
+g_bookmark_file_set_title
+g_bookmark_file_get_title G_GNUC_MALLOC
+g_bookmark_file_set_description
+g_bookmark_file_get_description G_GNUC_MALLOC
+g_bookmark_file_set_mime_type
+g_bookmark_file_get_mime_type G_GNUC_MALLOC
+g_bookmark_file_set_groups
+g_bookmark_file_add_group
+g_bookmark_file_has_group
+g_bookmark_file_get_groups G_GNUC_MALLOC
+g_bookmark_file_add_application
+g_bookmark_file_has_application
+g_bookmark_file_get_applications G_GNUC_MALLOC
+g_bookmark_file_set_app_info
+g_bookmark_file_get_app_info
+g_bookmark_file_set_is_private
+g_bookmark_file_get_is_private
+g_bookmark_file_set_icon
+g_bookmark_file_get_icon
+g_bookmark_file_set_added
+g_bookmark_file_get_added
+g_bookmark_file_set_modified
+g_bookmark_file_get_modified
+g_bookmark_file_set_visited
+g_bookmark_file_get_visited
+g_bookmark_file_has_item
+g_bookmark_file_get_size
+g_bookmark_file_get_uris G_GNUC_MALLOC
+g_bookmark_file_remove_group
+g_bookmark_file_remove_application
+g_bookmark_file_remove_item
+g_bookmark_file_move_item
+#endif
+#endif
+
 #if IN_HEADER(__G_CACHE_H__)
 #if IN_FILE(__G_CACHE_C__)
 g_cache_destroy
Index: glib/makefile.mingw.in
===================================================================
RCS file: /cvs/gnome/glib/glib/makefile.mingw.in,v
retrieving revision 1.30
diff -p -a -u -r1.30 makefile.mingw.in
--- glib/makefile.mingw.in	21 Nov 2002 03:25:34 -0000	1.30
+++ glib/makefile.mingw.in	24 Mar 2006 23:35:32 -0000
@@ -25,6 +25,7 @@ glib_OBJECTS =			\
 	garray.o		\
 	gasyncqueue.o		\
 	gbacktrace.o		\
+	gbookmarkfile.o 	\
 	gbsearcharray.o		\
 	gcache.o		\
 	gcompletion.o		\
Index: glib/makefile.msc.in
===================================================================
RCS file: /cvs/gnome/glib/glib/makefile.msc.in,v
retrieving revision 1.47
diff -p -a -u -r1.47 makefile.msc.in
--- glib/makefile.msc.in	5 Jan 2006 23:37:02 -0000	1.47
+++ glib/makefile.msc.in	24 Mar 2006 23:35:32 -0000
@@ -32,6 +32,7 @@ glib_OBJECTS =			\
 	gasyncqueue.obj		\
 	gatomic.obj	\
 	gbacktrace.obj		\
+	gbookmarkfile.obj 	\
 	gcache.obj		\
 	gcompletion.obj		\
 	gconvert.obj		\
Index: tests/.cvsignore
===================================================================
RCS file: /cvs/gnome/glib/tests/.cvsignore,v
retrieving revision 1.47
diff -p -a -u -r1.47 .cvsignore
--- tests/.cvsignore	27 Dec 2005 23:37:28 -0000	1.47
+++ tests/.cvsignore	24 Mar 2006 23:35:32 -0000
@@ -17,6 +17,7 @@ libmoduletestplugin_a.la
 libmoduletestplugin_b.la
 array-test
 atomic-test
+bookmarkfile-test
 child-test
 completion-test
 convert-test
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/gnome/glib/tests/Makefile.am,v
retrieving revision 1.82
diff -p -a -u -r1.82 Makefile.am
--- tests/Makefile.am	20 Dec 2005 17:35:02 -0000	1.82
+++ tests/Makefile.am	24 Mar 2006 23:35:32 -0000
@@ -63,6 +63,7 @@ endif
 test_programs =					\
 	atomic-test				\
 	array-test				\
+	bookmarkfile-test 				\
 	$(CXX_TEST)				\
 	child-test				\
 	completion-test				\
@@ -126,6 +127,7 @@ module_ldadd = $(libgmodule) $(G_MODULE_
 
 atomic_test_LDADD = $(progs_ldadd)
 array_test_LDADD = $(progs_ldadd)
+bookmarkfile_test_LDADD = $(progs_ldadd)
 child_test_LDADD = $(thread_ldadd)
 completion_test_LDADD = $(progs_ldadd)
 convert_test_LDADD = $(progs_ldadd)
