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 670161 - Add introspection support
Add introspection support
Product: libgoffice
Classification: Other
Component: General
Other Linux
: Normal normal
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks: 626218 670271
Reported: 2012-02-15 19:41 UTC by Jean Bréfort
Modified: 2012-03-08 13:40 UTC
See Also:
GNOME target: ---
GNOME version: ---

Proposed patch (13.38 KB, patch)
2012-02-15 19:41 UTC, Jean Bréfort
none Details | Review
Updated patch (18.09 KB, patch)
2012-02-15 20:26 UTC, Jean Bréfort
none Details | Review
updated patch (26.42 KB, patch)
2012-02-17 10:31 UTC, Jean Bréfort
none Details | Review
Updated patch (26.61 KB, patch)
2012-02-20 09:03 UTC, Jean Bréfort
none Details | Review
Latest patch (3.64 KB, patch)
2012-03-03 08:11 UTC, Jean Bréfort
none Details | Review

Description Jean Bréfort 2012-02-15 19:41:15 UTC
Created attachment 207694 [details] [review]
Proposed patch

The summary says it all
Comment 1 Jean Bréfort 2012-02-15 20:26:09 UTC
Created attachment 207700 [details] [review]
Updated patch

GOPath changes are in.
Comment 2 Jean Bréfort 2012-02-17 10:31:10 UTC
Created attachment 207842 [details] [review]
updated patch

Seems we need to rename go_complex to make things work in libspreadsheet.
Comment 3 Jean Bréfort 2012-02-20 09:03:54 UTC
Created attachment 208028 [details] [review]
Updated patch

Add GOffice.init() and GOffice.shoutdown().
Comment 4 Jean Bréfort 2012-03-02 08:10:57 UTC
Things are not that easy actually. First we need to avoid typenames such as Go* and go_* (see the warnins below); everything (except graph and canvas, may be, but see below) should start with GO.

utils/datetime.h:70: Warning: GOffice: symbol='go_basis_t': Unknown namespace for identifier 'go_basis_t'
utils/datetime.h:79: Warning: GOffice: symbol='GoCouponConvention': Skipping foreign identifier 'GoCouponConvention' from namespace GObject
<unknown>:: Warning: GOffice: Skipping foreign identifier 'GoSearchReplace' from namespace GObject
math/go-regression.h:36: Warning: GOffice: symbol='go_regression_stat_t': Unknown namespace for identifier 'go_regression_stat_t'

The other issue is that if we split things as the current patch does, we end with three dylibs depending on each other (graph uses GO and the canvas, the canvas uses graph and GO and GO uses both graph and canvas), and if we end with only one dylib, we end with name collisions which need to be fixed, but this makes things much more intrusive.
Comment 5 Jean Bréfort 2012-03-03 08:11:48 UTC
Created attachment 208895 [details] [review]
Latest patch

Generating only one gir file works in the end. Allowing Go as prefix makes GogGraph end as GOffice.gGraph and GocGraph as GOffice.cGraph, so we don't have collisions anymore.
Just need to fix documentation comments to have more introspectable methods.
Comment 6 Jean Bréfort 2012-03-08 13:40:40 UTC
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.