| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tools/m4/class_interface.m4 (_CUSTOM_CTOR_CAST): Add a new macro so
that classes wrapped by the _CLASS_INTERFACE() macro can implement a
custom cast constructor. This is so that classes like
Tls[Client|Server]Connection, that derive from Glib::Interface but
should also derive from a Glib::Object derived type, though they do
not do so in the C API, don't produce warnings from an attempt to set
the non-existent properties of the GObject derived type when an
attempt to construct the C object is made in the default Glib::Object
constructor. Glib::wrap_auto_interface<>(), which is called by
Glib::wrap() for interfaces, uses the cast constructor to create the
wrapper which calls the cast constructor of Glib::Interface. If the
Glib::Object derived base class of the wrapper has a default
constructor, that constructor is then called which leads to the
Glib::Object default constructor being called, which tries to
construct the C object and set its properties thus producing the
property setting warnings. A custom cast constructor can chain up to
the cast constructor of the Glib::Object derived type thus avoiding
the call to the Glib::Object default constructor and the non-existent
property setting warnings.
* glib/glibmm/interface.cc:
* glib/glibmm/interface.h (Interface): Add a default constructor so
that in the cases above (when the cast constructor of the
Glib::Object's derived type is used), the compiler can find a
Glib::Interface default constructor to use. Using the Glib::Interface
cast constructor as well as the cast constructor of the Glib::Object
derived type would cause "ObjectBase::initialize() called twice
for the same GObject" errors.
|
|
|
|
|
|
|
|
| |
* gio/src/tlscertificate.hg (get_issuer):
* gio/src/tlsclientconnection.hg (get_server_identity):
* gio/src/tlsconnection.hg (get*_certificate): Use refreturn in the
wrapping of these because the C API does not reference the object when
returning it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* gio/src/error.hg: Wrap the GTlsError GError in this file.
* gio/src/tlsclientconnection.hg:
* gio/src/tlsconnection.hg: Have default true values for boolean
setter methods in these classes.
* gio/src/tlsfiledatabase.hg: Clarify a TODO.
* gio/src/dbuserror.hg: Whitespace.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gio/src/tlsclientconnection.hg:
* gio/src/tlsserverconnection.hg: Add the create() methods, wrapping
the *_new() functions of these classes. Since these classes are
interfaces, it is not possible to use _WRAP_CTOR/WRAP_CREATE() to wrap
the new functions.
Also make these classes derive from TlsConnection which is their base
class (see [1][2][3][4]). Its odd because the base class is a GObject
and the derived ones are GInterfaces, but that's how the C API has
done it. Hopefully it will not be a problem.
[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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gio/src/tlscertificate.{ccg,hg}: Wrap the "certificate" property.
* gio/src/tlsclientconnection.hg: Add the get_accepted_cas() methods
and the "accepted-cas" property.
* gio/src/tlsdatabase.hg: Add the lookup_certificates_issued_by*()
methods and virtual functions. Correct a TlsCertificate conversion
for the virtual functions so that the underlying GObject is properly
copied from the C++ wrapper.
* tools/m4/convert_gio.m4: Add a ByteArray conversion.
* gio/src/tlspassword.hg: Clarify a TODO.
* glib/glibmm.h: Add bytes.h and bytearray.h to the includes.
|
|
* gio/src/tlsclientconnection.{ccg,hg}: Add the new client sources
wrapping the methods and properties.
* gio/src/tlsserverconnection.{ccg,hg}: Add the new server sources
wrapping its single property.
* gio/src/filelist.am: Include the new sources in the list of files to
be built.
* gio/src/enums.hg: Add the TlsAuthenticationMode enum needed for the
server class here because it is documented in the Tls Overview section
of the C API's documentation and not as part of any other class.
* tools/m4/convert_gio.m4: Add a necessary conversion.
* gio/src/tlsdatabase.{ccg,hg}: Fix the includes so that the
tlscertificate.h header file does not have to be included in the .h
file but instead in the .c file.
|