[glibmm] Tls*: Add the rest of the (unwrapped) properties, methods and vfuncs.



commit 86f5ce57da32b6bbc08fbd1c06a34b19f0071f59
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Tue Feb 26 21:45:57 2013 -0500

    Tls*: Add the rest of the (unwrapped) properties, methods and vfuncs.
    
        * 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.

 ChangeLog                      |   18 ++++++++++++++++++
 gio/src/tlscertificate.ccg     |    1 +
 gio/src/tlscertificate.hg      |   14 +++++++++++---
 gio/src/tlsclientconnection.hg |    7 +++++--
 gio/src/tlsdatabase.hg         |   32 +++++++++++++++++++++++---------
 gio/src/tlspassword.hg         |    2 +-
 glib/glibmm.h                  |    2 ++
 tools/m4/convert_gio.m4        |    4 +++-
 8 files changed, 64 insertions(+), 16 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 2dae60b..84c19ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+
+2013-02-26  José Alburquerque  <jaalburquerque gmail com>
+
+       Tls*: Add the rest of the (unwrapped) properties, methods and vfuncs.
+
+       * 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.
+
 2013-02-25  José Alburquerque  <jaalburquerque gmail com>
 
        glibmm: Add ByteArray.
diff --git a/gio/src/tlscertificate.ccg b/gio/src/tlscertificate.ccg
index 7225d99..d0262cd 100644
--- a/gio/src/tlscertificate.ccg
+++ b/gio/src/tlscertificate.ccg
@@ -16,4 +16,5 @@
  */
 
 #include <gio/gio.h>
+#include <glibmm/bytearray.h>
 #include <giomm/socketconnectable.h>
diff --git a/gio/src/tlscertificate.hg b/gio/src/tlscertificate.hg
index 98e581f..a1ff368 100644
--- a/gio/src/tlscertificate.hg
+++ b/gio/src/tlscertificate.hg
@@ -21,6 +21,14 @@
 _DEFS(giomm,gio)
 _PINCLUDE(glibmm/private/object_p.h)
 
+namespace Glib
+{
+
+// Forward declaration.
+class ByteArray;
+
+}
+
 namespace Gio
 {
 
@@ -61,12 +69,12 @@ public:
   _WRAP_METHOD(TlsCertificateFlags verify(const Glib::RefPtr<const SocketConnectable>& identity{?}, const 
Glib::RefPtr<const TlsCertificate>& trusted_ca{?}) const, g_tls_certificate_verify)
   _WRAP_METHOD(bool is_same(const Glib::RefPtr<const TlsCertificate>& cert_two) const, 
g_tls_certificate_is_same)
 
-  //TODO: _WRAP_PROPERTY("certificate", GByteArray*)
-
+  _WRAP_PROPERTY("certificate", Glib::RefPtr<Glib::ByteArray>)
   _WRAP_PROPERTY("certificate-pem", char*)
   _WRAP_PROPERTY("issuer", Glib::RefPtr<TlsCertificate>)
 
-  //TODO: _WRAP_PROPERTY("private-key", GByteArray*)
+  // Write-only and construct-only
+  //_WRAP_PROPERTY("private-key", Glib::RefPtr<Glib::ByteArray>)
 
   // Write-only and construct-only
   //_WRAP_PROPERTY("private-key-pem", char*)
diff --git a/gio/src/tlsclientconnection.hg b/gio/src/tlsclientconnection.hg
index 57da809..dd454a1 100644
--- a/gio/src/tlsclientconnection.hg
+++ b/gio/src/tlsclientconnection.hg
@@ -55,10 +55,13 @@ public:
   _WRAP_METHOD(void set_use_ssl3(bool use_ssl3), g_tls_client_connection_set_use_ssl3)
   _WRAP_METHOD(bool get_use_ssl3() const, g_tls_client_connection_get_use_ssl3)
 
-  //TODO: _WRAP_METHOD(GList* get_accepted_cas(), g_tls_client_connection_get_accepted_cas)
+#m4 _CONVERSION(`GList*',`std::vector< Glib::RefPtr<Glib::ByteArray> >',`Glib::ListHandler< 
Glib::RefPtr<Glib::ByteArray> >::list_to_vector($3, Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector< Glib::RefPtr<Glib::ByteArray> > get_accepted_cas(), 
g_tls_client_connection_get_accepted_cas)
 
-  //TODO: _WRAP_PROPERTY("accepted-cas", gpointer)
+#m4 _CONVERSION(`GList*',`std::vector< Glib::RefPtr<const Glib::ByteArray> >',`Glib::ListHandler< 
Glib::RefPtr<const Glib::ByteArray> >::list_to_vector($3, Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector< Glib::RefPtr<const Glib::ByteArray> > get_accepted_cas() const, 
g_tls_client_connection_get_accepted_cas)
 
+  _WRAP_PROPERTY("accepted-cas", std::vector< Glib::RefPtr<Glib::ByteArray> >)
   _WRAP_PROPERTY("server-identity", Glib::RefPtr<SocketConnectable>)
   _WRAP_PROPERTY("use-ssl3", bool)
   _WRAP_PROPERTY("validation-flags", TlsCertificateFlags)
diff --git a/gio/src/tlsdatabase.hg b/gio/src/tlsdatabase.hg
index ea7111f..2463491 100644
--- a/gio/src/tlsdatabase.hg
+++ b/gio/src/tlsdatabase.hg
@@ -23,6 +23,14 @@
 _DEFS(giomm,gio)
 _PINCLUDE(glibmm/private/object_p.h)
 
+namespace Glib
+{
+
+// Forward declaration.
+class ByteArray;
+
+}
+
 namespace Gio
 {
 
@@ -65,9 +73,14 @@ public:
   _WRAP_METHOD(void lookup_certificate_issuer_async(const Glib::RefPtr<const TlsCertificate>& certificate, 
const Glib::RefPtr<TlsInteraction>& interaction, const SlotAsyncReady& slot{callback}, const 
Glib::RefPtr<Cancellable>& cancellable{.?}, TlsDatabaseLookupFlags flags{.} = TLS_DATABASE_LOOKUP_NONE), 
g_tls_database_lookup_certificate_issuer_async, slot_name slot, slot_callback SignalProxy_async_callback)
   _WRAP_METHOD(Glib::RefPtr<TlsCertificate> lookup_certificate_issuer_finish(const 
Glib::RefPtr<AsyncResult>& result), g_tls_database_lookup_certificate_issuer_finish, errthrow)
 
-  //TODO: _WRAP_METHOD(GList* lookup_certificates_issued_by(GByteArray* issuer_raw_dn, const 
Glib::RefPtr<TlsInteraction>& interaction, TlsDatabaseLookupFlags flags, const Glib::RefPtr<Cancellable>& 
cancellable), g_tls_database_lookup_certificates_issued_by, errthrow)
-  //TODO: _WRAP_METHOD(void lookup_certificates_issued_by_async(GByteArray* issuer_raw_dn, const 
Glib::RefPtr<TlsInteraction>& interaction, TlsDatabaseLookupFlags flags, const Glib::RefPtr<Cancellable>& 
cancellable, const SlotAsyncReady& slot, gpointer user_data), 
g_tls_database_lookup_certificates_issued_by_async)
-  //TODO: _WRAP_METHOD(GList* lookup_certificates_issued_by_finish(const Glib::RefPtr<AsyncResult>& result), 
g_tls_database_lookup_certificates_issued_by_finish, errthrow)
+#m4 _CONVERSION(`GList*',`std::vector< Glib::RefPtr<TlsCertificate> >',`Glib::ListHandler< 
Glib::RefPtr<TlsCertificate> >::list_to_vector($3, Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector< Glib::RefPtr<TlsCertificate> > lookup_certificates_issued_by(const 
Glib::RefPtr<Glib::ByteArray>& issuer_raw_dn, const Glib::RefPtr<TlsInteraction>& interaction, const 
Glib::RefPtr<Cancellable>& cancellable{.}, TlsDatabaseLookupFlags flags{.} = Gio::TLS_DATABASE_LOOKUP_NONE), 
g_tls_database_lookup_certificates_issued_by, errthrow)
+
+#m4 _CONVERSION(`GList*',`std::vector< Glib::RefPtr<const TlsCertificate> >',`Glib::ListHandler< 
Glib::RefPtr<const TlsCertificate> >::list_to_vector($3, Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector< Glib::RefPtr<const TlsCertificate> > lookup_certificates_issued_by(const 
Glib::RefPtr<Glib::ByteArray>& issuer_raw_dn, const Glib::RefPtr<TlsInteraction>& interaction, const 
Glib::RefPtr<Cancellable>& cancellable{.}, TlsDatabaseLookupFlags flags{.} = Gio::TLS_DATABASE_LOOKUP_NONE) 
const, g_tls_database_lookup_certificates_issued_by, errthrow)
+
+  _WRAP_METHOD(void lookup_certificates_issued_by_async(const Glib::RefPtr<Glib::ByteArray>& issuer_raw_dn, 
const Glib::RefPtr<TlsInteraction>& interaction, const SlotAsyncReady& slot{callback}, const 
Glib::RefPtr<Cancellable>& cancellable{.}, TlsDatabaseLookupFlags flags{.} = Gio::TLS_DATABASE_LOOKUP_NONE), 
g_tls_database_lookup_certificates_issued_by_async, slot_name slot, slot_callback SignalProxy_async_callback)
+  _WRAP_METHOD(std::vector< Glib::RefPtr<TlsCertificate> > lookup_certificates_issued_by_finish(const 
Glib::RefPtr<AsyncResult>& result), g_tls_database_lookup_certificates_issued_by_finish, errthrow)
 
   _WRAP_METHOD(Glib::ustring create_certificate_handle(const Glib::RefPtr<const TlsCertificate>& 
certificate) const, g_tls_database_create_certificate_handle)
 
@@ -90,7 +103,7 @@ public:
 
   _WRAP_VFUNC(Glib::ustring create_certificate_handle(const Glib::RefPtr<TlsCertificate>& certificate) 
const, "create_certificate_handle")
 
-#m4 _CONVERSION(`Glib::RefPtr<TlsCertificate>',`GTlsCertificate*',`Glib::unwrap($3)')
+#m4 
_CONVERSION(`Glib::RefPtr<TlsCertificate>',`GTlsCertificate*',`G_TLS_CERTIFICATE(g_object_ref(Glib::unwrap($3)))')
 
   _WRAP_VFUNC(Glib::RefPtr<TlsCertificate> lookup_certificate_for_handle(const Glib::ustring& handle, const 
Glib::RefPtr<TlsInteraction>& interaction, const Glib::RefPtr<Cancellable>& cancellable{.}, 
TlsDatabaseLookupFlags flags{.}), "lookup_certificate_for_handle", errthrow)
   _WRAP_VFUNC(void lookup_certificate_for_handle_async(const Glib::ustring& handle, const 
Glib::RefPtr<TlsInteraction>& interaction, const SlotAsyncReady& slot{callback}, const 
Glib::RefPtr<Cancellable>& cancellable{.}, TlsDatabaseLookupFlags flags{.}), 
"lookup_certificate_for_handle_async", slot_name slot, slot_callback SignalProxy_async_callback)
@@ -100,11 +113,12 @@ public:
   _WRAP_VFUNC(void lookup_certificate_issuer_async(const Glib::RefPtr<TlsCertificate>& certificate, const 
Glib::RefPtr<TlsInteraction>& interaction, const SlotAsyncReady& slot{callback}, const 
Glib::RefPtr<Cancellable>& cancellable{.}, TlsDatabaseLookupFlags flags{.}), 
"lookup_certificate_issuer_async", slot_name slot, slot_callback SignalProxy_async_callback)
   _WRAP_VFUNC(Glib::RefPtr<TlsCertificate> lookup_certificate_issuer_finish(const Glib::RefPtr<AsyncResult>& 
result), "lookup_certificate_issuer_finish", errthrow)
 
-/* TODO:
-  _WRAP_VFUNC(GList* lookup_certificates_issued_by(GByteArray* issuer_raw_dn, const 
Glib::RefPtr<TlsInteraction>& interaction, const Glib::RefPtr<Cancellable>& cancellable{.}, 
TlsDatabaseLookupFlags flags{.}), "lookup_certificates_issued_by", errthrow)
-  _WRAP_VFUNC(void lookup_certificates_issued_by_async(GByteArray* issuer_raw_dn, const 
Glib::RefPtr<TlsInteraction>& interaction, const SlotAsyncReady& slot{callback}, const 
Glib::RefPtr<Cancellable>& cancellable{.}, TlsDatabaseLookupFlags flags{.}), 
"lookup_certificates_issued_by_async")
-  _WRAP_VFUNC(GList* lookup_certificates_issued_by_finish(const Glib::RefPtr<AsyncResult>& result), 
"lookup_certificates_issued_by_finish", errthrow)
-*/
+#m4 _CONVERSION(`std::vector< Glib::RefPtr<TlsCertificate> >',`GList*',`g_list_copy(Glib::ListHandler< 
Glib::RefPtr<TlsCertificate> >::vector_to_list($3).data())')
+#m4 _CONVERSION(`GByteArray*',`const Glib::RefPtr<Glib::ByteArray>&',`Glib::wrap($3, true)')
+
+  _WRAP_VFUNC(std::vector< Glib::RefPtr<TlsCertificate> > lookup_certificates_issued_by(const 
Glib::RefPtr<Glib::ByteArray>& issuer_raw_dn, const Glib::RefPtr<TlsInteraction>& interaction, const 
Glib::RefPtr<Cancellable>& cancellable{.}, TlsDatabaseLookupFlags flags{.}), "lookup_certificates_issued_by", 
errthrow)
+  _WRAP_VFUNC(void lookup_certificates_issued_by_async(const Glib::RefPtr<Glib::ByteArray>& issuer_raw_dn, 
const Glib::RefPtr<TlsInteraction>& interaction, const SlotAsyncReady& slot{callback}, const 
Glib::RefPtr<Cancellable>& cancellable{.}, TlsDatabaseLookupFlags flags{.}), 
"lookup_certificates_issued_by_async", slot_name slot, slot_callback SignalProxy_async_callback)
+  _WRAP_VFUNC(std::vector< Glib::RefPtr<TlsCertificate> > lookup_certificates_issued_by_finish(const 
Glib::RefPtr<AsyncResult>& result), "lookup_certificates_issued_by_finish", errthrow)
 };
 
 } // namespace Gio
diff --git a/gio/src/tlspassword.hg b/gio/src/tlspassword.hg
index e9dfd70..996373d 100644
--- a/gio/src/tlspassword.hg
+++ b/gio/src/tlspassword.hg
@@ -63,7 +63,7 @@ public:
 #m4 _CONVERSION(`gsize*', `gsize&', `*($3)')
   _WRAP_VFUNC(const guchar* get_value(gsize& length) const, "get_value")
 
-  //TODO: _WRAP_VFUNC(void set_value(guchar* value, gssize length, GDestroyNotify destroy), "set_value")
+  //TODO? (See g_tls_password_set_value_full() comment above): _WRAP_VFUNC(void set_value(guchar* value, 
gssize length, GDestroyNotify destroy), "set_value")
 
 #m4 _CONVERSION(`Glib::ustring', `const gchar*', `g_strdup($3.c_str())')
   _WRAP_VFUNC(Glib::ustring get_default_warning() const, "get_default_warning")
diff --git a/glib/glibmm.h b/glib/glibmm.h
index 9fb35e8..825b209 100644
--- a/glib/glibmm.h
+++ b/glib/glibmm.h
@@ -90,6 +90,8 @@
 
 #include <glibmm/arrayhandle.h>
 #include <glibmm/balancedtree.h>
+#include <glibmm/bytearray.h>
+#include <glibmm/bytes.h>
 #include <glibmm/checksum.h>
 #include <glibmm/class.h>
 #include <glibmm/containerhandle_shared.h>
diff --git a/tools/m4/convert_gio.m4 b/tools/m4/convert_gio.m4
index 4fac16d..9e3148b 100644
--- a/tools/m4/convert_gio.m4
+++ b/tools/m4/convert_gio.m4
@@ -73,10 +73,12 @@ _CONVERSION(`const Glib::RefPtr<ApplicationCommandLine>&',`GApplicationCommandLi
 
 # AsyncResult
 _CONVERSION(`Glib::RefPtr<Glib::Object>',`GObject*',__CONVERT_REFPTR_TO_P)
-
 _CONVERSION(`const Glib::RefPtr<AsyncResult>&',`GAsyncResult*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`Glib::RefPtr<AsyncResult>&',`GAsyncResult*',__CONVERT_REFPTR_TO_P)
 
+#ByteArray
+_CONVERSION(`const Glib::RefPtr<Glib::ByteArray>&',`GByteArray*',`Glib::unwrap($3)')
+
 # Cancellable
 _CONVERSION(`const Glib::RefPtr<Cancellable>&',`GCancellable*',__CONVERT_CONST_REFPTR_TO_P)
 _CONVERSION(`const Glib::RefPtr<Gio::Cancellable>&',`GCancellable*',__CONVERT_CONST_REFPTR_TO_P)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]