Commit Graph

81 Commits

Author SHA1 Message Date
Matthias Clasen
b57f2e9327 Clean up gobject docs 2011-08-30 00:09:51 -04:00
Marc-André Lureau
d2ca14c270 Add G_VALUE_INIT
The implementation of GValue is not public or documented.  When
allocated on the stack, initializing a GValue is usually done as
documented with:

GValue value = { 0, };

There is lot code around (including WebKit) that added all the missing
fields, resulting in this ugly and non-obvious:

GValue value = { 0, { { 0 } } };

However, this doesn't play nice with -Wmissing-field-initializers for
example. Thus, G_VALUE_INIT.

http://bugzilla.gnome.org/show_bug.cgi?id=654793
http://bugzilla.gnome.org/show_bug.cgi?id=577231
2011-08-13 18:16:44 -04:00
Christian Persch
316efa1b5d Add boxed GType for GMatchInfo 2011-06-24 01:03:50 +02:00
Colin Walters
3bd3067ffc gobject: Use _ prefixing in private headers over G_GNUC_INTERNAL in public headers
This helps out gtk-doc and g-ir-scanner, and also makes much clearer
what's private versus public.

https://bugzilla.gnome.org/show_bug.cgi?id=651745
2011-06-03 12:40:01 -04:00
David Zeuthen
88ab35f3cb Add a generic libffi based marshaller to libgobject
This code is from https://bugzilla.gnome.org/show_bug.cgi?id=567087
and was adapted by myself to also support the GVariant fundamental
type.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-04-08 17:34:44 -04:00
Matthias Clasen
db83a96648 Documentation tweak 2010-11-29 01:20:58 -05:00
Dan Winship
e910205557 Add g_source_set_dummy_callback()
Use g_source_set_closure() and g_close_set_meta_marshal() to allow
setting a do-nothing callback on any source.

https://bugzilla.gnome.org/show_bug.cgi?id=634239
2010-11-26 15:07:28 -05:00
Ryan Lortie
1a1fc130ec New function: g_clear_object()
By analogy to g_clear_error, takes a pass-by-reference GObject reference
and, if non-%NULL, unrefs it and sets it equal to %NULL.

Bug #620263.
2010-11-08 18:21:51 -05:00
Ryan Lortie
15d87c2cc4 GObject: add g_signal_accumulator_first_wins
Deals with the case where we want exactly one signal handler to run.
2010-10-12 21:34:17 -04:00
Emmanuele Bassi
9cd43d7a4c gobject: Add install_properties()
Since we added g_object_notify_by_pspec(), an efficient way to install
and notify properties relies on storing the GParamSpec pointers inside
a static arrays, like we do for signal identifiers.

Instead of multiple calls to g_object_class_install_property(), we
should have a single function to take the static array of GParamSpecs
and iterate it.

https://bugzilla.gnome.org/show_bug.cgi?id=626919

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-09-13 12:34:53 +01:00
Emmanuele Bassi
d31c1c863a docs: Fix up GDateTime for the GObject reference 2010-08-25 16:24:46 +01:00
Christian Persch
dc1999316d Add G_DEFINE_{BOXED,POINTER}_TYPE[_WITH_CODE]
Add convenience type definition macros for boxed and pointer types
similar to G_DEFINE_TYPE for object types. Bug #449565.
2010-08-18 00:12:22 +02:00
Emmanuele Bassi
3be3ad61d1 binding: Add a closure-based variant of bind_property_full()
Since using the function pointer version muddles the memory management
requirements of language bindings, we should implement a GClosure-based
variant on top of g_object_bind_property_full().

https://bugzilla.gnome.org/show_bug.cgi?id=622278
2010-08-03 09:51:49 +01:00
Matthias Clasen
9c6130cdde silence gtk-doc
Add g_error_get_type to a private section in gobject-sections.txt
so gtk-doc doesn't complain about it.
2010-06-23 09:25:29 -04:00
Christian Persch
db68f8203a Add g_value_take_variant
Turns out we do need g_value_take_variant(), so we can correctly
implement VARIANT:* marshalers.

Bug #621947.
2010-06-19 19:07:36 +02:00
Christian Persch
4708b8ecc3 Add fundamental type and pspec for GVariant
Make G_TYPE_VARIANT a fundamental type instead of boxed, and add
g_variant_{set,get,dup}_variant.

Add GParamSpecVariant.

Bug #610863.
2010-06-17 21:00:54 +02:00
Emmanuele Bassi
6d1d9cf1b5 gobject: Add GBinding
GBinding is a simple, opaque object that represents a binding between a
property on a GObject instance (source) and property on another GObject
instance (target).

https://bugzilla.gnome.org/show_bug.cgi?id=348080
2010-06-15 16:06:18 +01:00
Damien Lespiau
f3879a4bdc Introduce g_object_notify_by_pspec()
g_object_notify_by_pspec() will emit the "notify" signal on the given
pspec, short-circuiting the hash table lookup needed by
g_object_notify(). The suggested and documented way of using
g_object_notify_by_pspec() is similar to the way of emitting signals
with their ID.

Emission tests (with no handler attached to the notify signal) show a
10-15% speedup over using g_object_notify().

https://bugzilla.gnome.org/show_bug.cgi?id=615425
2010-06-15 10:51:36 +01:00
Javier Jardón
3b8d0a4ac2 Add G_TYPE_CLASS_GET_PRIVATE macro to docs 2010-05-20 01:59:17 +02:00
David Zeuthen
3baff96b37 Make sure G_TYPE_ERROR shows up in the docs
This is related to bug 614541.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-04-23 12:14:37 -04:00
Javier Jardón
bed462046a [docs] Fix G_VALUE_COLLECT_INIT documentation
Add the documentation to the corresponding section

This macro was introduced in
commit 546fc0ca33
2010-04-20 02:12:02 +02:00
Matthias Clasen
81e2aa941b Some more doc cleanups 2010-03-26 10:11:46 -04:00
Ryan Lortie
6f33038397 gtk-doc fixups 2010-03-21 14:12:48 -05:00
Matthias Clasen
80a160c7c6 Small doc fixes 2010-02-21 19:46:57 -05:00
Ryan Lortie
1e655eb02c merge GVariant 2010-02-10 11:35:01 -05:00
Dan Winship
91d96350a7 Add G_DEFINE_INTERFACE
This is a macro similar to G_DEFINE_TYPE but it lets you define
interfaces rather than classes.

For discussion, see bug #320482
2009-12-01 10:44:42 +01:00
Alexander Larsson
7d51c96e5e Add G_IMPLEMENT_INTERFACE_DYNAMIC
Convenience macro to easy interface addition for dynamic types.

https://bugzilla.gnome.org/show_bug.cgi?id=508157
2009-11-26 11:20:18 +01:00
Matthias Clasen
008ae16d75 Add new functions 2009-05-03 17:00:37 -04:00
Matthias Clasen
7a9c75a099 Add g_object_get_type
svn path=/trunk/; revision=7429
2008-09-02 17:39:32 +00:00
Matthias Clasen
cb3b591aaa Add new api
svn path=/trunk/; revision=7207
2008-07-19 02:15:31 +00:00
Stefan Kost
e7bc23623e Remove duplicated entries. They are documented and should be shown.
* docs/reference/gobject/gobject-sections.txt:
	  Remove duplicated entries. They are documented and should be shown.


svn path=/trunk/; revision=7067
2008-06-21 11:33:53 +00:00
Cody Russell
49f802b83e Added GRegex boxed type. (#445065, Carlos Garnacho)
2007-06-15  Cody Russell  <bratsche@gnome.org>

	* docs/reference/gobject/tmpl/gboxed.sgml:
	* docs/reference/gobject/gobject-sections.txt:
	* glib/gregex.c:
	* gobject/gboxed.[ch]:
	* gobject/gobject.symbols: Added GRegex boxed type.
	(#445065, Carlos Garnacho)


svn path=/trunk/; revision=5566
2007-06-15 16:31:21 +00:00
Matthias Clasen
1cb4af3e96 2.13.0
svn path=/trunk/; revision=5419
2007-03-16 22:11:15 +00:00
Matthias Clasen
d7b7c44e40 Define G_DEFINE_DYNAMIC_TYPE and and _EXTENDED variant. (#334437)
2006-12-29 Matthias Clasen  <mclasen@redhat.com>

        * gtypemodule.h: Define G_DEFINE_DYNAMIC_TYPE and
        and _EXTENDED variant.  (#334437)
2006-12-29 06:12:11 +00:00
Matthias Clasen
5dd378d2bd Updates 2006-04-24 21:12:52 +00:00
Matthias Clasen
8506d70257 forgotten file 2006-04-24 20:50:12 +00:00
Matthias Clasen
9d69eab963 additions 2005-12-24 07:49:51 +00:00
Matthias Clasen
d9d75c48de Document GObject api additions 2005-11-27 20:08:59 +00:00
Matthias Clasen
c0cffcf51b Document g_value_set_instance(), (#319885, Milosz Derezynski)
2005-10-26  Matthias Clasen  <mclasen@redhat.com>

	* gobject/gobject-sections.txt:
	* gobject/tmpl/generic_values.sgml: Document g_value_set_instance(),
	(#319885, Milosz Derezynski)
2005-10-27 02:54:30 +00:00
Owen Taylor
2ae1a46b4c Add g_object_add/remove_toggle_ref() functions to get notification when a
2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * gobject.[ch] gobject.symbols: Add
        g_object_add/remove_toggle_ref() functions to get notification
        when a reference count is the last remaining reference; this
        enables better memory management for language bindings.
        (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/gdataset.[ch] glib/gdatasetprivate.h: Add
        g_datalist_set/unset_flags(), g_datalist_get_flags() functions
        to squeeze some bits into a GDataSet... this is needed for
        efficient implementation of toggle references in GObject.

        * tests/gobject/references.c tests/gobject/Makefile.am:
        Add a test case for weak and toggle references.

        * glib/gfileutils.[ch]: Rename g_file_replace() back
        to g_file_set_contents().

        * glib/glib.symbols: Update.

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
        Update

        * gobject/tmpl/objects.sgml: Document toggle-references.
2005-05-05 14:57:29 +00:00
Matthias Clasen
5374882914 Additions 2005-05-01 22:02:16 +00:00
Matthias Clasen
a82bcb3107 Add a boxed type for GDate. (#301787, Tim-Philipp Müller)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gobject.symbols:
	* gboxed.h (G_TYPE_DATE):
	* gboxed.c: Add a boxed type for GDate. (#301787, Tim-Philipp
	Müller)
2005-04-29 18:33:41 +00:00
Matthias Clasen
5a6df6dd65 Documentation fixes. 2004-10-26 16:10:52 +00:00
Matthias Clasen
8414d97c5b Add g_type_module_register_enum() and g_type_module_register_flags().
Tue Jul  6 00:54:38 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/gobject-sections.txt:
	* gobject/tmpl/gtypemodule.sgml: Add g_type_module_register_enum()
	and g_type_module_register_flags().
2004-07-06 04:56:36 +00:00
Matthias Clasen
af81f44e66 Improve docs for G_DEFINE_TYPE_* macros.
Sun Jan 11 01:25:44 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/gtype.sgml: Improve docs for G_DEFINE_TYPE_* macros.

Sun Jan 11 01:25:29 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/gobject-sections.txt: Add G_DEFINE_TYPE_EXTENDED.
2004-01-11 00:23:57 +00:00
Matthias Clasen
f05c39ab42 Document g_type_class_peek_static.
Sat Jan 10 01:36:01 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/gtype.sgml: Document g_type_class_peek_static.

Sat Jan 10 01:23:58 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/gobject-sections.txt: Add g_type_class_peek_static,
	G_DEFINE_TYPE, G_DEFINE_TYPE_WITH_CODE, G_DEFINE_ABSTRACT_TYPE,
	G_DEFINE_ABSTRACT_TYPE_WITH_CODE, G_IMPLEMENT_INTERFACE.


Sat Jan 10 01:23:01 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/objects.sgml: Update docs of g_object_connect.

Fri Jan  9 23:40:23 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/gboxed.sgml:
	* gobject/gobject-sections.txt: Add G_TYPE_STRV and GStrv.
2004-01-10 00:34:26 +00:00
Matthias Clasen
b4f769efaf Add a boxed type for nul-terminated string arrays. (#110528)
Fri Jan  9 23:41:00 2004  Matthias Clasen  <maclas@gmx.de>

	* gboxed.h:
	* gboxed.c (g_strv_get_type): Add a boxed type for nul-terminated
	string arrays.  (#110528)
2004-01-09 22:39:55 +00:00
Owen Taylor
4d3e3f0bd9 Document interface properties and GParamSpecOverride.
Tue Oct 14 17:45:33 2003  Owen Taylor  <otaylor@redhat.com>

        * gobject/gobject-sections.txt gobject/tmpl/objects.sgml
        gobject/tmpl/param_value_types.sgml gobject/tmpl/gparamspec.sgml:
        Document interface properties and GParamSpecOverride.
2003-10-21 19:14:04 +00:00
Matthias Clasen
4a29291187 Documentation additions. 2003-10-20 20:07:45 +00:00
Matthias Clasen
ad23d7bb7f Additions.
Mon Oct 20 01:12:46 2003  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/gtype.sgml:
	* gobject/tmpl/param_value_types.sgml:
	* gobject/tmpl/value_arrays.sgml: Additions.

	* gobject/tmpl/gboxed.sgml:
	* gobject/gobject-sections.txt: Remove prematurely added
	GStrv documentation.
2003-10-19 23:17:30 +00:00