[next] telepathy-glib: add tp_tls_certificate_rejection_raise_error()

Xavier Claessens xclaesse at kemper.freedesktop.org
Wed May 9 13:10:50 PDT 2012


Module: telepathy-glib
Branch: next
Commit: 2304df9563ba80ae717bf6220535cc645a6c9fb8
URL:    http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=2304df9563ba80ae717bf6220535cc645a6c9fb8

Author: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
Date:   Thu Apr 19 16:03:20 2012 +0200

add tp_tls_certificate_rejection_raise_error()

---

 docs/reference/telepathy-glib-sections.txt |    1 +
 telepathy-glib/tls-certificate-rejection.c |   20 ++++++++++++++++++++
 telepathy-glib/tls-certificate-rejection.h |    4 ++++
 tests/dbus/tls-certificate.c               |    5 +++++
 4 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/docs/reference/telepathy-glib-sections.txt b/docs/reference/telepathy-glib-sections.txt
index 47e4b22..feacf20 100644
--- a/docs/reference/telepathy-glib-sections.txt
+++ b/docs/reference/telepathy-glib-sections.txt
@@ -7373,6 +7373,7 @@ tp_tls_certificate_rejection_get_dbus_error
 tp_tls_certificate_rejection_get_details
 tp_tls_certificate_rejection_get_error
 tp_tls_certificate_rejection_get_reason
+tp_tls_certificate_rejection_raise_error
 <SUBSECTION Standard>
 TP_IS_TLS_CERTIFICATE_REJECTION
 TP_IS_TLS_CERTIFICATE_REJECTION_CLASS
diff --git a/telepathy-glib/tls-certificate-rejection.c b/telepathy-glib/tls-certificate-rejection.c
index 7a012eb..7cf8755 100644
--- a/telepathy-glib/tls-certificate-rejection.c
+++ b/telepathy-glib/tls-certificate-rejection.c
@@ -307,3 +307,23 @@ tp_tls_certificate_rejection_get_details (TpTLSCertificateRejection *self)
 {
   return self->priv->details;
 }
+
+/**
+ * tp_tls_certificate_rejection_raise_error:
+ * @self: a #TpTLSCertificateRejection
+ * @error: (out) (allow-none) (transfer full): a #GError to fill
+ *
+ * Convenient function to raise the #TpTLSCertificateRejection:error
+ * property in language binding supporting this feature.
+ *
+ * Since: UNRELEASED
+ */
+gboolean
+tp_tls_certificate_rejection_raise_error (TpTLSCertificateRejection *self,
+    GError **error)
+{
+  if (error != NULL)
+    *error = g_error_copy (self->priv->error);
+
+  return FALSE;
+}
diff --git a/telepathy-glib/tls-certificate-rejection.h b/telepathy-glib/tls-certificate-rejection.h
index 5aea9b2..e5e4810 100644
--- a/telepathy-glib/tls-certificate-rejection.h
+++ b/telepathy-glib/tls-certificate-rejection.h
@@ -76,6 +76,10 @@ const gchar * tp_tls_certificate_rejection_get_dbus_error (
 GVariant * tp_tls_certificate_rejection_get_details (
     TpTLSCertificateRejection *self);
 
+gboolean tp_tls_certificate_rejection_raise_error (
+    TpTLSCertificateRejection *self,
+    GError **error);
+
 G_END_DECLS
 
 #endif /* #ifndef __TP_TLS_CERTIFICATE_REJECTION_H__*/
diff --git a/tests/dbus/tls-certificate.c b/tests/dbus/tls-certificate.c
index 061acdf..92384a3 100644
--- a/tests/dbus/tls-certificate.c
+++ b/tests/dbus/tls-certificate.c
@@ -231,6 +231,7 @@ test_reject (Test *test,
   gboolean enabled;
   TpTLSCertificate *cert;
   TpTLSCertificateRejection *rej;
+  GError *err = NULL;
 
   g_signal_connect (test->cert, "notify::state",
       G_CALLBACK (notify_cb), test);
@@ -267,6 +268,10 @@ test_reject (Test *test,
   g_assert (g_variant_lookup (details, "user-requested", "b", &enabled));
   g_assert (enabled);
 
+  g_assert (!tp_tls_certificate_rejection_raise_error (rej, &err));
+  g_assert_error (err, TP_ERRORS, TP_ERROR_CERT_REVOKED);
+  g_error_free (err);
+
   rej = tp_tls_certificate_get_nth_rejection (test->cert, 1);
   g_assert (TP_IS_TLS_CERTIFICATE_REJECTION (rej));
   error = tp_tls_certificate_rejection_get_error (rej);



More information about the telepathy-commits mailing list