|Maybe it is just me, but I don't see a problem with letting users access the object with gobject methods. If |you look at the api, there aren't that many, and there don't seem to be any that would harm too much. Also, |restricting access too much prevents people from using it in (perhaps beneficial) ways that you may not have |originally imagined.
|If you want to, you can override some of the original class methods, such as {set,get}_property. But perhaps |using the methods to your advantage would be better. |Such as the {set,get}_property methods. You can let the user of the object change parameters in this way, |rather than creating a dozen api calls to change this parameter, or that one. |Implementing signals could be nice also, let the user attach user-defined methods/signals/hooks to events that |happen with your objects. |Perhaps look at ways to use the gobject methods, rather than seeing them as a way for users to get around your |code... As my library makes extensive use of threads and the objects created are fairly complex (containing embedded objects themselves), allowing users to manipulate or view object properties and/or attach signal hooks to them is *precisely* what I am trying to avoid. I understand the "joys of gobject" argument, but I wanted to frame the question in terms of a design decision that has already been made, i.e. all pointers returned to the user are opaque and understanding gobject is not mandated for programmers using the library. Maybe I am making more out of this than need be. I have implemented thread- safety in my api's; I require glib>=2.8 for thread-safe g_object_[un]ref used internally; all of my gobject properties are construct only/write only; and the user cannot subclass my objects using the public headers I provide. Someone would have to go out of his/her way to discover that these are gobject's, let alone manipulate them using api's other than the ones explicitly provided. Phil _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list