After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 626257 - Add GObject Introspection support
Add GObject Introspection support
Status: RESOLVED FIXED
Product: eog
Classification: Core
Component: general
git master
Other All
: Normal enhancement
: GNOME3.0
Assigned To: Claudio Saavedra
EOG Maintainers
Depends on:
Blocks: 626091 626224 626244
 
 
Reported: 2010-08-06 17:19 UTC by Felix Riemann
Modified: 2011-01-03 12:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Rename EogDebugSection to EogDebug (2.77 KB, patch)
2010-08-08 22:36 UTC, Claudio Saavedra
committed Details | Review
Wrap ExifData in a EogExifData boxed type (7.59 KB, patch)
2010-08-08 22:36 UTC, Claudio Saavedra
committed Details | Review
Add the necessary machinery to generate the introspection data from eog (2.11 KB, patch)
2010-08-08 22:36 UTC, Claudio Saavedra
none Details | Review
Add the necessary machinery to generate the introspection data from eog (4.82 KB, patch)
2010-12-23 14:31 UTC, Claudio Saavedra
none Details | Review
Dont use EogExifData in the C api (5.04 KB, patch)
2010-12-23 14:31 UTC, Claudio Saavedra
none Details | Review
Don't make types internal (818 bytes, patch)
2010-12-23 14:31 UTC, Claudio Saavedra
none Details | Review

Description Felix Riemann 2010-08-06 17:19:13 UTC
In the lights of bugs #626091, #626224, 626244 and this GnomeGoal:

http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport

it looks we're going to need GObject Introspection support in eog to be able to support python plugins in the future (current master disables them).

Let's target this for GNOME 3.0 and see if we manage to do it. ;)
Comment 1 Claudio Saavedra 2010-08-06 20:21:01 UTC
I'm already working on this and have made quite some progress. Will post patches soonish.
Comment 2 Felix Riemann 2010-08-06 22:29:08 UTC
*Setting correct "target" field in Bugzilla!*
Comment 3 Claudio Saavedra 2010-08-08 22:36:24 UTC
Created attachment 167384 [details] [review]
Rename EogDebugSection to EogDebug

Also rename EOG_NO_DEBUG to EOG_DEBUG_NO_DEBUG for clarity
in bindings.
Comment 4 Claudio Saavedra 2010-08-08 22:36:29 UTC
Created attachment 167385 [details] [review]
Wrap ExifData in a EogExifData boxed type

This is for better interaction with bindings
Comment 5 Claudio Saavedra 2010-08-08 22:36:32 UTC
Created attachment 167386 [details] [review]
Add the necessary machinery to generate the introspection data from eog

Annotations are still missing, but this provides enough for basic
introspection usage
Comment 6 Felix Riemann 2010-12-18 13:22:13 UTC
Review of attachment 167385 [details] [review]:

Pushed the first two patches to master as they make sense to have anyway.
Comment 7 Felix Riemann 2010-12-18 13:22:52 UTC
Review of attachment 167384 [details] [review]:

see comment 6
Comment 8 Felix Riemann 2010-12-18 13:24:09 UTC
Review of attachment 167386 [details] [review]:

You seem to have forgotten the configure.ac parts in this one. :)
Comment 9 Claudio Saavedra 2010-12-23 10:07:27 UTC
Apparently a lot has changed in g-i because now I'm having issues getting this patch to work, even after adding the missing configure.ac bits. I'll attach a newer version when I fix this.
Comment 10 Claudio Saavedra 2010-12-23 14:31:11 UTC
Created attachment 176938 [details] [review]
Add the necessary machinery to generate the introspection data from eog

Annotations are still missing, but this provides enough for basic
introspection usage
Comment 11 Claudio Saavedra 2010-12-23 14:31:15 UTC
Created attachment 176939 [details] [review]
Dont use EogExifData in the C api
Comment 12 Claudio Saavedra 2010-12-23 14:31:19 UTC
Created attachment 176940 [details] [review]
Don't make types internal
Comment 13 Claudio Saavedra 2010-12-23 14:38:23 UTC
Sorry for the rough patches, but I've wasted enough time with this. Apparently something changed in gobject-introspection's support for typedefs and that broke the whole thing. It was necessary to make the typedef internal to avoid it breaking. Also, having G_GNUC_INTERNAL made the types invisible to the scanner.

This at least compiles, but I didn't test the introspection at all.
Comment 14 Felix Riemann 2011-01-03 12:56:03 UTC
There we go. We can add annotations later. For now the basic introspection support is already enough for us.

commit f457e6cd2f9b25194145681109ae4bd7f3b4ee7f
Author: Claudio Saavedra <csaavedra@igalia.com>
Date:   Thu Dec 23 16:27:13 2010 +0200

    Dont use EogExifData in the C api
    
    https://bugzilla.gnome.org/show_bug.cgi?id=626257

commit d3ee0241723db6729cb7331428293c9dc95e8cdd
Author: Claudio Saavedra <csaavedra@igalia.com>
Date:   Thu Dec 23 16:28:08 2010 +0200

    Don't make enum types internal
    
    https://bugzilla.gnome.org/show_bug.cgi?id=626257

commit b316c9e0b30a8c6d67feb8f21a20268e18c8cc3d
Author: Claudio Saavedra <csaavedra@igalia.com>
Date:   Mon Aug 9 00:55:11 2010 +0300

    Add the necessary machinery to generate the introspection data from eog
    
    Annotations are still missing, but this provides enough for basic
    introspection usage
    
    https://bugzilla.gnome.org/show_bug.cgi?id=626257


This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.