On Tue, 2013-03-19 at 10:23 +0100, Murray Cumming wrote: > I will do the .0 releases of the current glibmm and gtkmm series in the > next few days, to try to be in sync with GNOME, who have their .0 > release on March 27th: > https://live.gnome.org/ThreePointSeven > > So, if you have added new API, please take an extra moment to make sure > that you don't need to fix it quickly, because you probably can't break > it later. >
The not so extensive newly added Tls* API is pretty much complete. I just thought that I would point out a couple of things that struck me as unusual which I think would be good to be aware of before the stable release goes out. Also I have one final question. 1) The C documentation for GTlsConnection says that the GTlsClientConnection and the GTlsServerConnection classes derive from it [1][2][3][4]. In fact, in the C API the classes both derive from GInterface. In glibmm, the two classes in like manner presently derive from Glib::Interface but they also derive from the base class Gio::TlsConnection. I hope that's okay. 2) The *_new() functions of the two derived classes also create GIOStreams. It seems that the reason for that is that GTlsConnection derives from it. In glibmm, the create() method of the two derived classes return Glib::RefPtr<>'s to each of the derived class types. I hope that's also fine. [1] https://developer.gnome.org/gio/stable/GTlsConnection.html#GTlsConnection.description [2] https://developer.gnome.org/gio/stable/GTlsConnection.html#GTlsConnection.derived-interfaces [3] https://developer.gnome.org/gio/stable/GTlsClientConnection.html#GTlsClientConnection.description [4] https://developer.gnome.org/gio/stable/GTlsServerConnection.html#GTlsServerConnection.description 3) From the GTlsFileDatabase docs [5] (see the description and the class details), it seems that the interface derives from the GTlsDatabase class. In glibmm it therefore presently derives from Gio::TlsDatabase. I just want to make sure that the derivation of the interface in glibmm should not be changed. 4) Finally, in the C API there are two constants (G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER [6] and G_TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT [7]) used to depict certain certificate purposes (see g_tls_database_verify_chain() [8]). Should those be wrapped in glibmm? [5] https://developer.gnome.org/gio/stable/GTlsFileDatabase.html#GTlsFileDatabase.description [6] https://developer.gnome.org/gio/stable/GTlsDatabase.html#G-TLS-DATABASE-PURPOSE-AUTHENTICATE-SERVER:CAPS [7] https://developer.gnome.org/gio/stable/GTlsDatabase.html#G-TLS-DATABASE-PURPOSE-AUTHENTICATE-CLIENT:CAPS [8] https://developer.gnome.org/gio/stable/GTlsDatabase.html#g-tls-database-verify-chain -- José -- José _______________________________________________ gtkmm-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtkmm-list
