On Wed, 2006-09-20 at 12:31 +0200, Alexander Larsson wrote: Hey Alex,
Great that you are planning to redesign the VFS. > Here is my current GInputStream: > > struct _GInputStreamClass > { > GObjectClass parent_class; Using GTypeInterfaceClass here would make it much more easy to let library and application developers implement the GInputStream interface in a for-their needs suitable way. Because the gtype system has infrastructure that makes it more easy. Using a GObject it would also be a lot more difficult to let such a type implement multiple interfaces: the developer would have to inherit. Unless in C++, you can't multi-inherit in most programming languages. Language binding generators like gapi and pygtk's one know how to deal with GTypeInterface. For example by putting define-virtual in the defs file of a Python language binding generation helper-files, it would be easy and possible to implement a GInputStream in Python. In .NET it wouldn't (not at this moment) be possible to use the GTypeInterface as a real "interface" as known in the .NET world. Nor could a Java language binding do this (as this would require significant adaptations to both the compiler and virtual machine of the environment), but I know there's plans to ease creating language bindings for situations like these. For example by creating an abstract class where the developer has to implement the methods. -- Philip Van Hoof, software developer at x-tend home: me at pvanhoof dot be gnome: pvanhoof at gnome dot org work: vanhoof at x-tend dot be http://www.pvanhoof.be - http://www.x-tend.be _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list