Summary: | TpChannel: make the struct layout public for read-only access | ||
---|---|---|---|
Product: | Telepathy | Reporter: | Simon McVittie <smcv> |
Component: | tp-glib | Assignee: | Telepathy bugs list <telepathy-bugs> |
Status: | RESOLVED FIXED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 14180 | ||
Bug Blocks: |
Description
Simon McVittie
2008-03-05 05:07:38 UTC
Since we cannot know for sure that in the future we'd add some interfaces or data that might turn out to be extremely useful to have them as public read-only members in the struct, what about adding a const TpChannelXxxData *tp_channel_get_xxx_interface_data (TpChannel *); that returns a pointer to an read-only structure containing data specific to the Xxx (Group, for instance) interface? In this way we can add data structs for all interfaces for which this might be useful. This is only about interfaces; I also think that the base properties of TpChannel should be exposed in its structure, but probably not any interface-specific data. (In reply to comment #1) > Since we cannot know for sure that in the future we'd add some interfaces or > data that might turn out to be extremely useful to have them as public > read-only members in the struct, what about adding a > > const TpChannelXxxData *tp_channel_get_xxx_interface_data (TpChannel *); > > that returns a pointer to an read-only structure containing data specific to > the Xxx (Group, for instance) interface? I plan to do exactly that for all other interfaces, but I think Group is sufficiently fundamental that it ought to go in the "base" struct, which is why #14180 blocks this bug. Taking a cue from the new Gtk policy, I've decided not to expose any public struct members - I've been adding function-based accessors instead. Fixed in darcs, will be in 0.7.12. |
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.