Commit Graph

54 Commits

Author SHA1 Message Date
Xavier Claessens
00285b7517 Add g_clear_pointer()
Also reimplement g_clear_object() using g_clear_pointer()

https://bugzilla.gnome.org/show_bug.cgi?id=674634
2012-04-27 09:42:29 +02:00
Ryan Lortie
46c2f570da GWeakRef: add a weak GObject reference believed to be thread-safe
This patch is a joint work with Simon McVittie.

https://bugzilla.gnome.org/show_bug.cgi?id=548954
2012-01-02 12:23:15 -05:00
Matthias Clasen
328be3938e GObject: Don't use G_DISABLE_DEPRECATED for functions 2011-11-03 00:09:32 -04:00
Chun-wei Fan
08d6e1147d Use GLIB_DEPRECATED instead of G_GNUC_DEPRECATED in our headers
This will let others opt out of seeing GLib deprecation warnings
by defining GLIB_DISABLE_DEPRECATION_WARNINGS.

https://bugzilla.gnome.org/show_bug.cgi?id=661438
2011-10-11 13:42:59 -04:00
Matthias Clasen
93b3f6477e Add G_GNUC_DEPRECATED to deprecated functions in gobject 2011-10-08 23:23:43 -04:00
Matthias Clasen
1b28408b8b Spelling fixes
Spelling fixes in comments and docs, provided by
Kjartan Maraas in bug 657336.
2011-08-29 14:49:32 -04: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
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
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
Alexander Larsson
301d52d858 Add flags member for GObjectClass
https://bugzilla.gnome.org/show_bug.cgi?id=557100
2009-10-02 21:02:48 +02:00
Johan Dahlin
a12f4b7be7 Mark g_object_get_type function as const, it's a fundamental type and can
2008-08-21  Johan Dahlin  <johan@gnome.org>

    * gobject.h:
    Mark g_object_get_type function as const, it's
    a fundamental type and can safely marked as const,
    as opposed to traditionally *_get_type functions.


svn path=/trunk/; revision=7378
2008-08-21 09:42:44 +00:00
Johan Dahlin
306db46123 Bug 548800 – Missing a g_object_get_type function
2008-08-21  Johan Dahlin  <johan@gnome.org>

    Bug 548800 – Missing a g_object_get_type function

    * gobject.c (g_object_get_type):
    * gobject.h:
    * gobject.symbols:
    Add g_object_get_type


svn path=/trunk/; revision=7377
2008-08-21 09:18:25 +00:00
Stefan Kost
ac94781e28 Move some content for gobject-unused.sgml and cleared empty entries. The
* docs/reference/gobject/tmpl/gobject-unused.sgml:
	* gobject/gobject.h:
	* gobject/gtype.c:
	* gobject/gtype.h:
	  Move some content for gobject-unused.sgml and cleared empty entries.
	  The remaining 4 ones should be checked by some else. If they are not
	  needed. The file can be removed.


svn path=/trunk/; revision=7087
2008-06-22 10:10:59 +00:00
Stefan Kost
fca3fb5818 Migrating docs.
* docs/reference/gobject/tmpl/param_value_types.sgml:
	* gobject/gboxed.c:
	* gobject/gboxed.h:
	* gobject/genums.c:
	* gobject/genums.h:
	* gobject/gobject.c:
	* gobject/gobject.h:
	* gobject/gparam.c:
	* gobject/gparam.h:
	* gobject/gparamspecs.c:
	* gobject/gparamspecs.h:
	* gobject/gvaluetypes.c:
	* gobject/gvaluetypes.h:
	  Migrating docs.


svn path=/trunk/; revision=7081
2008-06-21 22:16:14 +00:00
Stefan Kost
fedbbf5d74 Migrating docs.
* docs/reference/gobject/tmpl/objects.sgml:
	* gobject/gobject.c:
	* gobject/gobject.h:
	* gobject/gparam.h:
	  Migrating docs.


svn path=/trunk/; revision=7080
2008-06-21 20:07:57 +00:00
Ryan Lortie
dac885cba5 invoke GObjectClass.constructed() only for newly constructed objects, and
Tue Apr  3 12:34:14 2007  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: invoke GObjectClass.constructed() only for newly
        constructed objects, and invoke it while the notify queue is
        still being frozen, after all CONSTRUCT* properties have been
        set and before random other properties are being set.

        * applied modified patch from Ryan Lortie to implement
        GObjectClass.constructed() to fix #425324.

2007-04-02  Ryan Lortie  <desrt@desrt.ca>

        * gobject/gobject.h: Add 'constructed' vcall to GObjectClass.
        * gobject/gobject.c (g_object_newv): call ->constructed() as last
        step of object construction.



svn path=/trunk/; revision=5441
2007-04-03 10:44:30 +00:00
Sven Neumann
89f9ebaef3 changed return value of g_value_dup_object(), fixes #343292.
Wed Aug 23 10:35:32 2006  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: changed return value of g_value_dup_object(), fixes #343292.

2006-08-23  Sven Neumann  <sven@gimp.org>

        * gobject/glib-genmarshal.[c1]: added new command-line option
        "--internal" that can be used to let glib-genmarshal generate
        internal functions using the G_GNUC_INTERNAL attribute (bug #346647).
2006-08-23 08:46:21 +00:00
Matthias Clasen
f6c57b3509 Make g_object_compat_control() visible for GTK+ compilation, to avoid
2006-01-18  Matthias Clasen  <mclasen@redhat.com>

	* gobject.h: Make g_object_compat_control() visible
	for GTK+ compilation, to avoid segfaults on 64bit
	platforms.
2006-01-18 16:03:57 +00:00
Tim Janik
648da9d63f renamed GUnowned to GInitiallyUnowned.
Thu Dec 22 18:53:14 2005  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: renamed GUnowned to GInitiallyUnowned.
2005-12-22 17:58:21 +00:00
Tim Janik
6f01d0c34f implemented G_TYPE_GTPYE. applied patch from matthias which implements
Thu Dec 22 14:59:24 2005  Tim Janik  <timj@imendio.com>

        * gvaluetypes.[hc]: implemented G_TYPE_GTPYE. applied patch
        from matthias which implements GType accessors for GValue.

        * gparamspecs.[hc]: applied patch from matthias which
        implements G_TYPE_PARAM_GTYPE.

        * gobject.[hc]:
        GUnowned: introduced a new object type that has an initially
        floating reference.
        g_object_compat_control(): allow setting of a floating flag handler.
2005-12-22 15:07:03 +00:00
Tim Janik
6e5f465924 added floating reference count. g_object_is_floating():
Wed Nov 23 18:01:46 2005  Tim Janik  <timj@imendio.com>

        * gobject.[hc]: added floating reference count.
        g_object_is_floating():
        g_object_ref_sink(): new functions to deal with floating references.
        g_object_force_floating(): new funciton for object implementations
        to set the floating flag.

        * gobject.c (g_object_init): make objects initially floating.

Wed Nov 23 17:58:13 2005  Tim Janik  <timj@gtk.org>

        * gparam.[hc]: added g_param_spec_ref_sink().
2005-11-23 17:54:41 +00:00
Tim Janik
834ddd1920 turned all modifications to the first 32 integer bits in a closure into
Mon Aug  1 23:00:42 2005  Tim Janik  <timj@imendio.com>

        * gclosure.c: turned all modifications to the first 32 integer bits in a
        closure into atomic accesses. wrapped write accesses into special macros
        to keep the atomic modification logic in a single place. comment cleanups.

        * gclosure.h: made all atomicly accessed closure fields volatile.

        * gobject.h: made ref_count field volatile.
2005-08-01 21:17:50 +00:00
Matthias Clasen
693b03a749 Remove G_GNUC_NULL_TERMINATED from g_object_new again, since that makes
2005-07-11  Matthias Clasen  <mclasen@redhat.com>

	* gobject.h:
	* gobject.symbols: Remove G_GNUC_NULL_TERMINATED from
	g_object_new again, since that makes gcc warn on calls of
	the form g_object_new (some_type, NULL)
2005-07-11 17:58:29 +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
6aac5ce82c Define G_GNUC_NULL_TERMINATED. (#164706, Marc Meissner)
2005-03-08  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmacros.h: Define G_GNUC_NULL_TERMINATED.
	(#164706, Marc Meissner)

	* glib/gstrfuncs.h:
	* glib/gfileutils.h: Use G_GNUC_NULL_TERMINATED where
	appropriate.
2005-03-08 05:41:45 +00:00
Owen Taylor
6f5794fad0 Add a new GParamSpecOverride type that is a pointer to a different
Tue Oct 14 17:40:19 2003  Owen Taylor  <otaylor@redhat.com>

        * gparamspecs.[ch]: Add a new GParamSpecOverride type
        that is a pointer to a different paramspec in a parent
        class or interface.

        * gparam.[ch]: Add g_paramspec_get_redirect_target()
        which follows GParamSpecOverride to the real property.
        Make g_param_spec_pool_list() hand redirections,
        properties on interfaces.

        * gobject.[ch] gobjectnotifyqueue.c: Add
        g_object_interface_install_property,
        g_object_interface_find_property,
        g_object_interface_list_properties(). Redirect virtually all
        publically exposed GParamSpec's to the redirect target if
        any. (->constructor is the exception.)
        (#105894)
2003-10-21 19:12:27 +00:00
Matthias Clasen
4a29291187 Documentation additions. 2003-10-20 20:07:45 +00:00
Matthias Clasen
c3acb9da0c Make the g_value_set_x_take_ownership() functions "official" part of the
2003-09-12  Matthias Clasen  <maclas@gmx.de>

	Make the g_value_set_x_take_ownership() functions "official"
	part of the API (#100948):

	* gvaluetypes.[hc]: Add g_value_take_string() (synonym to the
	now deprecated g_value_set_string_take_ownership()).

	* gparam.[hc]: Add g_value_take_param() (synonym to the
	now deprecated g_value_set_param_take_ownership()).

	* gobject.[hc]: Add g_value_take_object() (synonym to the
	now deprecated g_value_set_object_take_ownership()).

	* gboxed.[hc]: Add g_value_take_boxed() (synonym to the
	now deprecated g_value_set_boxed_take_ownership()).

	* gobject/gobject-sections.txt: Add new g_value_take_x() functions.

	* gobject/tmpl/param_value_types.sgml: Document new g_value_take_x()
	functions.  (#100948)
2003-09-12 20:11:38 +00:00
Tim Janik
e1afbb7e03 fix extraneous include.
Thu Mar 21 01:28:14 2002  Tim Janik  <timj@gtk.org>

        * gsignal.[hc]:
        * gobject.[hc]: fix extraneous include.
2002-03-21 00:34:05 +00:00
Tim Janik
a0f5e304b2 provide marshaller specific value_set_*_take_ownership() variants.
Sun Feb 16 22:08:48 2002  Tim Janik  <timj@gtk.org>

        * gobject.[hc]:
        * gparam.[hc]: provide marshaller specific value_set_*_take_ownership()
        variants.

        * gvalue.h: shrink GValue's data contents to 2 unions.

        * glib-genmarshal.c: fix release and realeas_check hackage by always
        using _take_ownership() variants. directly access value contents if
        G_ENABLE_DEBUG is not defined.

        * gobject.h: add padding pointers to the class struct.
2002-02-19 17:38:45 +00:00
Tim Janik
b7046ec79f return gulong instead of guint.
Thu Jan 24 07:39:56 2002  Tim Janik  <timj@gtk.org>

        * gobject.c (g_signal_connect_object): return gulong instead
        of guint.
2002-01-24 06:39:31 +00:00
Tim Janik
57446efec6 cosmetic fix.
Wed Jan  9 05:23:27 2002  Tim Janik  <timj@gtk.org>

        * gobject.h (G_OBJECT_WARN_INVALID_PROPERTY_ID): cosmetic fix.
2002-01-09 04:23:12 +00:00
Owen Taylor
e767aa0a4f Improve the detection of invalid includes by moving the test outside the
Mon Nov 19 14:35:56 2001  Owen Taylor  <otaylor@redhat.com>

        * *.h: Improve the detection of invalid includes by moving
        the test outside the duplicate include guards.

        * gsourceclosure.c (g_source_set_closure): Doc fix.
2001-11-22 18:55:06 +00:00
Owen Taylor
5852eace66 Include gtypes.h not gobject/gtype.h
Sat Nov 17 14:10:35 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gbsearcharray.h: Include gtypes.h not gobject/gtype.h

	* glib/glib-object.h gobject/*.h: Prevent headers from
	being included directly except when compiling GObject.

	* gobject/gvaluecollector.h: Include glib-object.h so that
	this file can be included directly, since we don't
	include it _from_ glib-object.h.

	* gobject/gtype.c: Remove struct _GValue hack since we
	now include glib/gvaluecollector.h which simply pulls in
        glib-object.h.
2001-11-18 00:38:48 +00:00
Tim Janik
ca8f047a45 we need signal.h for G_BREAKPOINT().
Mon Nov  5 18:59:08 2001  Tim Janik  <timj@gtk.org>

        * gobject.h:
        * gsignal.h: we need signal.h for G_BREAKPOINT().
2001-11-05 17:58:43 +00:00
Tim Janik
7ca6b00d0e removed extraneous GObject* returns from a couple functions that are very
Mon Sep 10 20:31:37 2001  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: removed extraneous GObject* returns from a
        couple functions that are very unlikely to be used in nested.
        changed gpointer->GObject* for a couple return values/arguments.
        this fixes #50206.
2001-09-10 18:32:52 +00:00
James Henstridge
f240813ff6 add an object member to the structure. (weak_refs_notify): pass
2001-08-17  James Henstridge  <james@daa.com.au>

	* gobject.c (WeakRefStack): add an object member to the structure.
	(weak_refs_notify): pass wstack->object as extra argument to
	notify functions.
	(g_object_weak_ref): set wstack->object when initialising
	WeakRefStack.

	* gobject.h (GWeakNotify): add second argument to prototype which
	gives the pointer to where the object that is being disposed of
	was.
2001-08-18 03:07:48 +00:00
Sven Neumann
d1d623b072 added new function g_nullify_pointer().
2001-08-06  Sven Neumann  <sven@gimp.org>

	* glib/gutils.[ch]: added new function g_nullify_pointer().

	* gobject/gobject.[ch]:
	added new functions g_object_[add|remove]_weak_pointer().
2001-08-06 20:55:11 +00:00
Tim Janik
69f32ba7c9 added g_list_insert_before().
Sat Jun 30 23:14:32 2001  Tim Janik  <timj@gtk.org>

        * glib/glist.[hc]: added g_list_insert_before().

        * glib/gslist.c (g_slist_insert_before): provide an implementation,
        prototype was already present...

Sat Jun 30 11:07:00 2001  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: provide weak_ref/weak_unref functions,
        invoked from ->dispose. renamed ->shutdown() to ->dispose(),
        provide "public" API entry here: g_object_run_dispose(), this
        fucntion should _only_ be called from object system implementations
        (e.g. gtkobject.c) if at all.

        * gtypemodule.c (g_type_module_dispose): s/shutdown/dispose/

        * gsignal.h: removed compat aliases.

        * gobject.c (g_object_connect): support data objects.
2001-07-02 05:02:13 +00:00
Tim Janik
fd860cb987 up version number to 1.3.7, interface age 0, binary age 0.
Thu Jun 28 16:57:44 2001  Tim Janik  <timj@gtk.org>

        * configure.in (GLIB_MICRO_VERSION): up version number to 1.3.7,
        interface age 0, binary age 0.

Thu Jun 28 16:42:49 2001  Tim Janik  <timj@gtk.org>

        * gsignal.c (g_signal_lookup):
        (g_signal_list_ids): give elaborate warnings about invalid types,
        non-instantiatable types and unloaded types that we can't operate on.

        * gparam.[hc]: g_param_spec_pool_belongings() ->
        g_param_spec_pool_list_owned().

        * gsignal.[hc]: renamed:
        g_signal_newc -> g_signal_new
        g_signal_disconnect_by_func -> g_signal_handlers_disconnect_by_func
        g_signal_block_by_func -> g_signal_handlers_block_by_func
        g_signal_unblock_by_func -> g_signal_handlers_unblock_by_func
        added GConnectType to simplify (..gboolean swapped, gboolean after)
        args.

        * gobject.[hc]: changed prototypes accordingly.
2001-06-28 17:05:12 +00:00
Tim Janik
3b346e3581 remove left-over usages of an anonymous GBoxed typedef.
Mon Jun 11 17:07:06 2001  Tim Janik  <timj@gtk.org>

        * gboxed.[hc]: remove left-over usages of an anonymous GBoxed typedef.

        * gobjectnotifyqueue.c: moved property notify queue implementation
        bits into this function.

        * gparam.[hc]: added g_param_spec_pool_belongings(), completed
        g_param_spec_pool_list(). added GParameter for _setv() functions.

        * gobject.[hc]: use gobjectnotifyqueue.h implementation now.
        got rid of properties_changed signal.
        new functions g_object_newv(), g_object_class_list_properties().
        removed "properties_changed" signal.

        * gtype.[hc]: added g_type_depth() to figure number of parent
        types + 1 for a type.

        * gsignal.h: add g_signal_connect() (as per owen's request) and
        g_signal_connect_swapped().
2001-06-19 12:13:22 +00:00
Owen Taylor
e181176f90 gpointer, not gpointer *.
Thu May 24 08:52:02 2001  Owen Taylor  <otaylor@redhat.com>

	* gobject.[ch] (g_value_set_object): gpointer, not
        gpointer *.
2001-05-24 12:52:39 +00:00
Tim Janik
fbb5eebbad make g_value_set_object() take a gpointer v_object so people don't need to
Tue May 22 02:46:13 2001  Tim Janik  <timj@gtk.org>

        * gobject.c (g_value_set_object): make g_value_set_object()
        take a gpointer v_object so people don't need to G_OBJECT()
        cast NULL pointers (C code convenience).
2001-05-22 00:48:06 +00:00
Tor Lillqvist
137d3248c7 Use G_BEGIN_DECLS and G_END_DECLS.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

	* *.h: Use G_BEGIN_DECLS and G_END_DECLS.

	* Makefile.am: Use libglib-1.3.la from top_builddir. Invoke
	libtool with -no-undefined for Win32 and Cygwin.
2001-03-09 21:39:51 +00:00
Tim Janik
37e4b8c87e changed prototype of g_boxed_type_register_static() to contain an optional
Wed Mar  7 09:36:33 2001  Tim Janik  <timj@gtk.org>

	* gboxed.[hc]: changed prototype of g_boxed_type_register_static()
	to contain an optional init function and a hint at whether the
	boxed structure uses ref counting internally.
	added g_value_set_boxed_take_ownership().
	made G_TYPE_BOXED an abstract value type.

	* genums.[hc]: made G_TYPE_ENUM and G_TYPE_FLAGS abstract value
	types.

	* glib-genmarshal.c: argument type changes, preparation for third-party
	arg specification.

	* gobject.[hc]: cleaned up get/set property code.
	added g_strdup_value_contents() to improve warnings.

	* gparam.[hc]: added g_param_value_convert(), taking over responsibility
	of the old g_value_convert(). added G_PARAM_LAX_VALIDATION flag so
	validation alterations may be valid a part of the property setting
	process.

	* gparamspecs.[hc]: made value comparisons stable (for sort applications).
	added GParamSpecValueArray, a param spec for value arrays and
	GParamSpecClosure. nuked the value exchange functions and
	GParamSpecCCallback.

	* gtype.[hc]: catch unintialized usages of the type system with
	g_return_val_if_uninitialized(). introduced G_TYPE_FLAG_VALUE_ABSTRACT
	to flag types that introduce a value table, but can't be used for
	g_value_init(). cleaned up reserved type ids.

	* gvalue.[hc]: code cleanups and saner checking.
	nuked the value exchange API. implemented value transformations, we
	can't really "convert" values, rather transforms are an anylogy to
	C casts, real conversions need a param spec for validation, which is
	why g_param_value_convert() does real conversions now.

	* gvaluearray.[hc]: new files that implement a GValueArray, a struct
	that can hold inhomogeneous arrays of value (to that extend that it
	also allowes undefined values, i.e. G_VALUE_TYPE(value)==0).
	this is exposed to the type system as a boxed type.

	* gvaluetransform.c: new file implementing most of the former value
	exchange functions as single-sided transformations.

	* gvaluetypes.[hc]: nuked G_TYPE_CCALLBACK, added
	g_value_set_string_take_ownership().

	* *.h: s/G_IS_VALUE_/G_VALUE_HOLDS_/.

	* *.[hc]: many fixes and cleanups.

	* many warning improvements.

Tue Feb 27 18:35:15 2001  Tim Janik  <timj@gtk.org>

	* gobject.c (g_object_get_valist): urg, pass G_VALUE_NOCOPY_CONTENTS
	into G_VALUE_LCOPY(), this needs proper documenting.

	* gparam.c: fixed G_PARAM_USER_MASK.

	* gtype.c (type_data_make_W):
	(type_data_last_unref_Wm): fixed invalid memory freeing.

	* gobject.c (g_object_last_unref): destroy signal handlers associated
	with object, right before finalization.

	* gsignal.c (g_signal_parse_name): catch destroyed nodes or signals
	that don't actually support details.

	* gobject.[hc]: got rid of property trailers. nuked GObject
	properties "data" and the "signal" variants.
	(g_object_connect): new convenience function to do multiple
	signal connections at once.
	(g_object_disconnect): likewise, for disconnections.

	* gparam.[hc] (g_param_spec_pool_lookup): took out trailer support.

	* gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
	as private (the latter got renamed from g_value_get_as_pointer()).

Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>

        * glib-object.h: add gvaluearray.h.

        * gstring.[hc]: fixup naming of g_string_sprint*.

        * gtypes.h: fixed GCompareDataFunc naming.

Wed Mar  7 09:33:27 2001  Tim Janik  <timj@gtk.org>

        * gobject/Makefile.am: shuffled rules to avoid excessive
        rebuilds.

        * gobject/gobject-sections.txt: updates.

        * gobject/tmpl/*: bunch of updates, added another patch
        from Eric Lemings <eric.b.lemings@lmco.com>.
2001-03-07 14:46:45 +00:00
Tim Janik
484f2ee732 urg managed to forget this last time ;(
Wed Dec 13 09:31:26 2000  Tim Janik  <timj@gtk.org>

        * gparamspecs.[hc]: add G_TYPE_PARAM_BOXED implementation.

        * gobject.[hc]: minor fixes.
2000-12-13 08:36:17 +00:00
Tim Janik
9a8c33db5c return whether a value got removed.
Tue Dec 12 18:58:22 2000  Tim Janik  <timj@gtk.org>

        * ghash.c (g_hash_table_remove): return whether a value
        got removed.

Tue Dec 12 23:38:02 2000  Tim Janik  <timj@gtk.org>

        * Makefile.am: _never_ touch oldest-source-stamp.

        * gobject.[hc]: construct property handling fixes/improvements.
        fixed trailer handling in get/set property.

        * gparam.[hc]: implement param spec pool, got rid of param spec
        hashtable. the most prominent change is that e deal with type
        prefixes here.
2000-12-13 00:44:18 +00:00
Tim Janik
e773d7dba6 fixed dealing with collection/lcopy of NULL values.
Mon Dec 11 04:44:11 2000  Tim Janik  <timj@gtk.org>

	* gboxed.c: fixed dealing with collection/lcopy of NULL values.

	* gclosure.h: removed insane ramblings, added G_CALLBACK() a casting
	convenience macro.

	* Makefile.am: cleanups, marshaller generation rules.

	* gmarshal.[hc]: new files with GRuntime standard marshallers.

	* glib-genmarshal.c: fix log domain, support gruntime standard
	marshallers, suport G_TYPE_PARAM, come with extern "C" and
	#include gmarshal.h.

	* glib-genmarshal.1: reflect glib-genmarshal.c updates.

	* gobject.[hc]: implement object constructor. rework parameter
	changed notification queueing, we support queue freezes now and
	don't dispatch from an idle handler anymore.
	parameter->property rename hassle.
	implemented ::properties_changed and ::notify::* signals for
	property change notification (the later supports property names
	as details). added signal connection and named data properties.
	(g_signal_connect_object): new function to setup while_alive
	connections.
	(g_object_class_install_property): sink properties now, since they
	are initially floating.
	(g_object_steal_data):
	(g_object_set_data_full):
	(g_object_set_data):
	(g_object_get_data): set/get data by using g_datalist_*() functions
	directly.
	(g_object_queue_param_changed): nuked.
	(g_object_freeze_notify): start queueing of property changes (freeze/
	thaw calls stack).
	(g_object_notify): announce changes of a certain property directly.
	(g_object_thaw_notify): process queue of property changes, therefore
	emitting GObject::notify::detail with detail being the changed
	properties names.
	(G_OBJECT_WARN_INVALID_PROPERTY_ID): saner macro variant of former
	G_WARN_INVALID_PARAM_ID().

	* gparam.[hc]: param specs are now initially floating and need to be
	sunken with g_param_spec_sink(), support G_TYPE_PARAM values.
	added G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY parameter flags,
	required by GObjectClass.constructor().

	* gparamspecs.[hc]: added GParamSpecParam, GParamSpecPointer and
	GParamSpecCCallback, param specs for G_TYPE_PARAM, G_TYPE_POINTER
	and G_TYPE_CCALLBACK respectively.

	* gsignal.[hc]: cleanups.
	(signal_id_lookup): after walking the anchestry, try interfaces as well.
	(g_signal_new): new function to create signals from varargs type list.
	(g_signal_connect_closure): closure connection variant that works from
	signal name+detail.
	(g_signal_connect_data): c handler connection variant that works from
	signal name+detail.
	(g_signal_emit_valist): emit signal for an instance with paraneters
	collected from a va_list.
	(g_signal_emit): emit signal, taking parameters from varargs list.
	(g_signal_emit_by_name): same as g_signal_emit, working from
	signal name+detail.
	(signal_emit_R): return whether return_value needs to be altered.

	* gtype.[hc]: set log-domain to GRuntime, i'm slowly getting to all
	the points that need to reflect the upcoming rename.
	melt g_type_conforms_to() functionality into g_type_is_a(), as that
	is what we really want (liskov substitution principle).
	assorted changes to other files due to conforms_to->is_a.

	* gvalue.[hc]: implemented g_value_set_instance() that sets a value
	from an instantiatable type via the value_table's collect_value()
	function (based on an idea from James Henstridge <james@daa.com.au>).
	cleanups/fixes.

	* gvaluetypes.[hc]: implement G_TYPE_CCALLBACK and G_TYPE_PARAM.
2000-12-12 07:32:00 +00:00
Havoc Pennington
40d62d0dd7 More convenient data-setting functions
2000-11-20  Havoc Pennington  <hp@redhat.com>

	* gobject.c (g_object_get_data)
	(g_object_set_data)
	(g_object_set_data_full)
	(g_object_steal_data): More convenient data-setting functions
2000-11-20 22:24:12 +00:00
Tim Janik
760845b183 doh, s/BSE_OBJECT_TYPE_NAME/G_OBJECT_TYPE_NAME/; reported by Maas-Maarten
Thu Nov  9 01:49:43 2000  Tim Janik  <timj@gtk.org>

        * gobject.h (G_WARN_INVALID_PARAM_ID): doh,
        s/BSE_OBJECT_TYPE_NAME/G_OBJECT_TYPE_NAME/; reported by Maas-Maarten
        Zeeman <maas@wanadoo.nl>.
2000-11-15 05:05:53 +00:00