GNOME Bugzilla – Bug 670161
Add introspection support
Last modified: 2012-03-08 13:40:40 UTC
Created attachment 207694 [details] [review] Proposed patch The summary says it all
Created attachment 207700 [details] [review] Updated patch GOPath changes are in.
Created attachment 207842 [details] [review] updated patch Seems we need to rename go_complex to make things work in libspreadsheet.
Created attachment 208028 [details] [review] Updated patch Add GOffice.init() and GOffice.shoutdown().
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.
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.
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.