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 348123 - Hide Bonobo from public EBook API
Hide Bonobo from public EBook API
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Contacts
1.8.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
evolution[codecleanup]
Depends on:
Blocks:
 
 
Reported: 2006-07-20 11:08 UTC by Ross Burton
Modified: 2013-09-14 16:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch (2.82 KB, patch)
2006-07-20 11:14 UTC, Ross Burton
none Details | Review
Revised patch (4.15 KB, patch)
2006-07-21 08:45 UTC, Ross Burton
committed Details | Review

Description Ross Burton 2006-07-20 11:08:35 UTC
Currently the fact that EBook uses Bonobo is exposed via a function that cannot be used by uses of libebook, as technically it's private.

e_book_view_new() takes a Bonobo object and a EBookViewListener object, all of which is implementation details.  This is also confusing: the number of people that have tried calling e_book_view_new() and wondered why they can't make it work...

Attaching a patch that moves this function into e-book-view-private.h, which is not installed.  This removes Bonobo and the listener from the public API, which is good.
Comment 1 Ross Burton 2006-07-20 11:14:11 UTC
Created attachment 69245 [details] [review]
Patch
Comment 2 Ross Burton 2006-07-21 08:45:23 UTC
Created attachment 69312 [details] [review]
Revised patch

This patch fixes a warning in e-book-view.c and removes the Bonobo include from e-book.h.
Comment 3 André Klapper 2006-08-23 11:08:16 UTC
yepp. making the life of potential contributors easier is important.
Comment 4 Devashish Sharma 2006-11-06 10:24:55 UTC
The patch can be committed Ross.
Comment 5 Ross Burton 2006-11-06 10:50:19 UTC
Committed to head, thanks!
Comment 6 Ross Burton 2006-11-07 11:23:52 UTC
Re-opening as this was reverted before release.
Comment 7 Harish Krishnaswamy 2006-11-08 07:10:45 UTC
Ross : Please allow me to confer with Michael Meeks and revert back on available options - like skipping a soname bump for this change. Thanks.
Comment 8 Michael Meeks 2006-11-08 10:25:34 UTC
Looks good to me - as long as we don't bump the .so name - which will screw OO.o. If the API is really not used externally there should be no need, ISVs doing real integration to any of this code on Linux will use dlopen anyway [ as we do ].

In general though it'd be good to do a quick audit for unused / internal APIs that crept into header files in error, and at least add

#ifdef E_D_S_INTERNAL_API
...
#endif

guards to all of that. We do this in ORBit2, and treat the protected APIs as internal - and (of course) it's far quicker to scan/markup a lot of troublesome APIs that way.

HTH.
Comment 9 Harish Krishnaswamy 2006-11-20 04:48:32 UTC
Committed the patch after concurring with all the stakeholders w/o .so name changes. 
Ross and Michael : Thanks for all the help.