Subject: [gdome] Changes to gdome's API
From: Mathieu Lacage (lacage@email.enst.fr)
Date: Tue Jan 18 2000 - 18:08:32 EST
hi,
I should have done this sooner but well...
I have recently commited to gdome some changes which
I suspect are non-source-compatible for applications.
Here is a description of the changes done and what
should be done to update to the new gdome cvs version.
1) EventTarget.
previously, gdome had
gdome_n_addEventListener,
gdome_n_removeEventListener,
gdome_n_handleEvent.
These functions still exist and behave as expected but are
deprecated.
their replacements are
gdome_evntt_addEventListener,
gdome_evntt_removeEventListener,
gdome_evntt_handleEvent.
2) casting macros.
No direct casts should be done anymore between GdomeAttr and
GdomeNode for example. The folowing should never be written
anymore.
GdomeAttr *priv = (GdomeAttr *) attr;
GdomeNode *n = (GdomeNode *) priv;
instead, people should write :
GdomeAttr *priv = GDOME_ATTR (attr);
GdomeNode *n = GDOME_NODE (priv);
These macros (defined in gdome-util.h) resolve to simple casts now but
they may resolve to something else later like query_interface calls.
(even if this is not likely to happen: I have a prototype implementation
of EventTarget which used this approach in my HD and it was rather painful.)
3) EventListener
previously, application developers had to create a GdomeListener
structure and fill inside the epv with function pointers to their
implementations of the EventListener object.
This is not the case anymore. EventListener is a new object now and
has its own implementation.
the folowing functions are now available: gdome_evntl_ref/unref/query_interface/handleEvent
Also, the folowing constructor is exported by gdome:
GdomeEventListener *gdome_xml_evntl_new (callback)
where callback is a pointer to the callback for this EventListener.
Please, look in gdome-xml-util.h for the signature.
regards,
Mathieu
---- message from gdome@rufus.w3.org Archive at http://rufus.w3.org/tools/gdome/messages/ Unsubscribing: echo "unsubscribe gdome" | mail majordomo@rufus.w3.org
This archive was generated by hypermail 2b27 : Fri Jan 21 2000 - 13:54:01 EST