Bug 29956

Summary: Add basic introspection for the Mixins
Product: Telepathy Reporter: Travis Reitter <travis.reitter>
Component: tp-glibAssignee: Travis Reitter <travis.reitter>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium Keywords: patch
Version: git master   
Hardware: Other   
OS: All   
Whiteboard: review+
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 29971    

Description Travis Reitter 2010-09-01 17:08:36 UTC
I've got an early test suite for Folks that uses derivative of the (C-based) tp-glib test library classes. In order to write tests in other languages (in this case, Vala), I need to be able to introspect the test library.

The test library uses the mixins, so in order to be introspected, the basic structure symbols need to be exposed. This branch exposes the bare minimum to allow that (since the other functions wouldn't be terribly useful in introspected languages):

http://git.collabora.co.uk/?p=user/treitter/telepathy-glib.git;a=shortlog;h=refs/heads/mixin-introspection
Comment 1 Simon McVittie 2010-09-02 03:46:34 UTC
(Please put the patch keyword on bugs with patches so I'm more likely to notice them.)

Looks fair enough. Am I right in thinking that this results in the structs, only, appearing in the GIR?

Quite a lot of the mixin API is entirely feasible to introspect, so if we're going to whitelist the files, we should clone this bug for "do it properly". I'll do that.
Comment 2 Travis Reitter 2010-09-02 08:25:03 UTC
(In reply to comment #1)
> (Please put the patch keyword on bugs with patches so I'm more likely to notice
> them.)

Sorry - will again next time.

> Looks fair enough. Am I right in thinking that this results in the structs,
> only, appearing in the GIR?

Yes. Much of the GroupMixin functions were automatically recognized until I (skip)ped them.

Most of the functions for the PresenceMixin and ContactsMixin were assumed to be static since there were no get_type() function (I believe -- I tried re-typing the GObject* and GObjectClass* opening arguments with annotations, and that wasn't enough to make them part of a coherent interface definition).

> Quite a lot of the mixin API is entirely feasible to introspect, so if we're
> going to whitelist the files, we should clone this bug for "do it properly".
> I'll do that.

Thanks. I'll keep that bug in mind as I expand the test suite, since we may need to use more of their features.

Pushed to master.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.