Re: [gnome-db] libgda: Take class hierarchy into account in gda_dict_declare_object?
- From: Murray Cumming <murrayc murrayc com>
- To: Vivien Malerba <vmalerba gmail com>
- Cc: gnome-db-list gnome org
- Subject: Re: [gnome-db] libgda: Take class hierarchy into account in gda_dict_declare_object?
- Date: Fri, 12 Jan 2007 11:56:22 +0100
On Fri, 2007-01-12 at 11:48 +0100, Vivien Malerba wrote:
> On 1/12/07, Armin Burgmeier <armin arbur net> wrote:
> > When wrapping GdaQuery for libgdamm I noticed that every time one wants
> > to use a GdaQuery in C++ libgda prints an ugly warning to the screen
> > (and probably does not behave correctly) that is caused by the GdaDict
> > object declaration system (namely gda_dict_declare_object_as() ).
> > libgdamm subclasses GdaQuery to allow implementing default signal
> > handlers and stuff in C++ but this causes said function not to recognize
> > it as a GdaQuery anymore.
> >
> > I am not sure about the semantics of that dict object declaration stuff,
> > this is why I am asking: Would it be possible to take parent types into
> > account if no GdaRegisterDictStruct for the given GType was found? I
> > could come up with a patch if you think that this is OK.
>
> You can try to change gda_dict_declare_object() in gda-query.c with
> gda_dict_declare_object_as() specifying GDA_TYPE_QUERY as the last
> argument. This causes GdaDict to take the specified data type instead
> of the one determined by the object itself (which is obviously not
> GDA_TYPE_QUERY if you subclass it). This is done for the GdaGraphQuery
> object which registers itself as a GDA_TYPE_GRAPH.
>
> Tell me if it works.
That sounds like a good fix for now.
I'm not sure what this code is meant to do, but: If some code is trying
to find a registered object by finding one with a specific GType, maybe
that code should fall back to looking at the parent GTypes. However,
this does all sound like it might be an abuse of the GType system.
--
Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]