# HG changeset patch # User Elliott Sales de Andrade # Date 1330227508 0 # Node ID c3eaa2a6aa42345e4942973cebe92a7a4c192abb # Parent 298080cecdc598039d0739309481c31e2aafce30 Add PurpleCertificate request field API. diff -r 298080cecdc5 -r c3eaa2a6aa42 ChangeLog.API --- a/ChangeLog.API Sun Feb 26 03:01:41 2012 +0000 +++ b/ChangeLog.API Sun Feb 26 03:38:28 2012 +0000 @@ -34,6 +34,8 @@ * purple_menu_action_set_data * purple_menu_action_set_callback * purple_menu_action_set_children + * purple_request_field_certificate_new + * purple_request_field_certificate_get_value * purple_request_field_get_tooltip * purple_request_field_group_get_fields_list * purple_request_field_set_tooltip diff -r 298080cecdc5 -r c3eaa2a6aa42 libpurple/request.c --- a/libpurple/request.c Sun Feb 26 03:01:41 2012 +0000 +++ b/libpurple/request.c Sun Feb 26 03:38:28 2012 +0000 @@ -119,6 +119,11 @@ gsize size; } image; + struct + { + PurpleCertificate *cert; + } certificate; + } u; void *ui_data; @@ -1329,6 +1334,31 @@ return field->u.account.filter_func; } +PurpleRequestField * +purple_request_field_certificate_new(const char *id, const char *text, PurpleCertificate *cert) +{ + PurpleRequestField *field; + + g_return_val_if_fail(id != NULL, NULL); + g_return_val_if_fail(text != NULL, NULL); + g_return_val_if_fail(cert != NULL, NULL); + + field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_CERTIFICATE); + + field->u.certificate.cert = cert; + + return field; +} + +PurpleCertificate * +purple_request_field_certificate_get_value(const PurpleRequestField *field) +{ + g_return_val_if_fail(field != NULL, NULL); + g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CERTIFICATE, NULL); + + return field->u.certificate.cert; +} + /* -- */ void * diff -r 298080cecdc5 -r c3eaa2a6aa42 libpurple/request.h --- a/libpurple/request.h Sun Feb 26 03:01:41 2012 +0000 +++ b/libpurple/request.h Sun Feb 26 03:38:28 2012 +0000 @@ -76,7 +76,8 @@ PURPLE_REQUEST_FIELD_LIST, PURPLE_REQUEST_FIELD_LABEL, PURPLE_REQUEST_FIELD_IMAGE, - PURPLE_REQUEST_FIELD_ACCOUNT + PURPLE_REQUEST_FIELD_ACCOUNT, + PURPLE_REQUEST_FIELD_CERTIFICATE } PurpleRequestFieldType; @@ -1170,6 +1171,36 @@ /*@}*/ /**************************************************************************/ +/** @name Certificate Field API */ +/**************************************************************************/ +/*@{*/ + +/** + * Creates a certificate field. + * + * @param id The field ID. + * @param text The label of the field. + * @param cert The certificate of the field. + * + * @return The new field. + */ +PurpleRequestField *purple_request_field_certificate_new(const char *id, + const char *text, + PurpleCertificate *cert); + +/** + * Returns the certificate in a certificate field. + * + * @param field The field. + * + * @return The certificate. + */ +PurpleCertificate *purple_request_field_certificate_get_value( + const PurpleRequestField *field); + +/*@}*/ + +/**************************************************************************/ /** @name Request API */ /**************************************************************************/ /*@{*/