Mercurial > pidgin
diff libpurple/request.c @ 31933:5c174d124e29
Hide-a-Struct
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Tue, 23 Aug 2011 04:37:58 +0000 |
| parents | a88631af0f5e |
| children | 4a0bc7b7957b |
line wrap: on
line diff
--- a/libpurple/request.c Tue Aug 23 04:32:43 2011 +0000 +++ b/libpurple/request.c Tue Aug 23 04:37:58 2011 +0000 @@ -42,6 +42,92 @@ } PurpleRequestInfo; +/** + * A request field. + */ +struct _PurpleRequestField +{ + PurpleRequestFieldType type; + PurpleRequestFieldGroup *group; + + char *id; + char *label; + char *type_hint; + + gboolean visible; + gboolean required; + + union + { + struct + { + gboolean multiline; + gboolean masked; + gboolean editable; + char *default_value; + char *value; + + } string; + + struct + { + int default_value; + int value; + + } integer; + + struct + { + gboolean default_value; + gboolean value; + + } boolean; + + struct + { + int default_value; + int value; + + GList *labels; + + } choice; + + struct + { + GList *items; + GList *icons; + GHashTable *item_data; + GList *selected; + GHashTable *selected_table; + + gboolean multiple_selection; + + } list; + + struct + { + PurpleAccount *default_account; + PurpleAccount *account; + gboolean show_all; + + PurpleFilterAccountFunc filter_func; + + } account; + + struct + { + unsigned int scale_x; + unsigned int scale_y; + const char *buffer; + gsize size; + } image; + + } u; + + void *ui_data; + char *tooltip; + +}; PurpleRequestFields * purple_request_fields_new(void)
