[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