[Bug 26249] add GObject-Introspection bindings

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Apr 23 14:41:31 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=26249

--- Comment #23 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-04-23 05:41:30 PDT ---
I'll make a branch that's your branch with the example/test-things omitted, and
see if I can get it merged for the next version so we have some sort of
baseline to work with.

(In reply to comment #20)
> Ok. I think we should skip all tp_asv_* functions.

It's not really necessary to skip tp_asv_get_* - those are perfectly safe - but
we can always reinstate them later.

> I'm not sure whether or not to skip currently broken API or not. If it
> doesn't work it's not really part of our API guarantee at the moment anyway.

I think we should (skip) anything that's *known* to be broken, with a comment
above the doc-comment saying "GObject-Introspection known not to work". Not a
merge blocker, though.

(In reply to comment #21)
> Hmm, the only one I'm wondering is how people are going to set the object-path
> variant.

Perhaps one way forward would be to have a struct that wraps a
GHashTable-with-known-allocation-model, like so:

    typedef struct { /*<private>*/ GHashTable *asv; } TpAsvBuilder;

    TpAsvBuilder *builder = tp_asv_builder_new ();
    GHashTable *asv;

    tp_asv_builder_set_int64 (builder, "discord", 5);
    tp_asv_builder_set_uint32 (builder, "towel", 42);
    asv = tp_asv_builder_finish (builder);
    tp_asv_builder_destroy (builder);
    do_something_with (asv);
    g_hash_table_unref (asv);

(With hindsight, I should probably have insisted that tp_asv_set_foo work like
this...)

(In reply to comment #22)
> I'll go through it and write in what's been annotated implicitly/explicitly and
> what's been explicitly tested. It's also my goal to write unit tests, so we can
> also document what has unit tests.

Brilliant, thank you.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.



More information about the telepathy-bugs mailing list