12:58 < Zdra> smcv: what about adding gboolean tp_channel_is_ready(channel) {return self->ready} 12:59 < Zdra> it's more convenient than gboolean ready; g_object_get (G_OBJECT (channel), "ready", &ready); 13:00 < smcv> Zdra: it'll be a public member of the struct, when the struct becomes public 13:00 < Zdra> smcv: ah, you are planning to move the struct as public 13:01 < smcv> yeah, that's why it has a TpChannelPrivate part 13:01 < smcv> I haven't quite decided how groups are going to work, though 13:01 < smcv> so I don't want to make any guarantees about the contents
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.