![]() |
![]() |
![]() |
Wocky Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy |
#include <wocky/wocky-data-form.h> #define WOCKY_DATA_FORM_ERROR struct WockyDataFormClass; enum WockyDataFormError; struct WockyDataFormField; struct WockyDataFormFieldOption; enum WockyDataFormFieldType; GQuark wocky_data_form_error_quark (void
); const gchar * wocky_data_form_get_instructions (WockyDataForm *self
); const gchar * wocky_data_form_get_title (WockyDataForm *self
); WockyDataForm * wocky_data_form_new_from_form (WockyNode *node
,GError **error
); gboolean wocky_data_form_parse_result (WockyDataForm *self
,WockyNode *node
,GError **error
); gboolean wocky_data_form_set_boolean (WockyDataForm *self
,const gchar *field_name
,gboolean field_value
,gboolean create_if_missing
); gboolean wocky_data_form_set_string (WockyDataForm *self
,const gchar *field_name
,const gchar *field_value
,gboolean create_if_missing
); gboolean wocky_data_form_set_strv (WockyDataForm *self
,const gchar *field_name
,const gchar * const *field_values
,gboolean create_if_missing
); gboolean wocky_data_form_set_type (WockyDataForm *self
,const gchar *form_type
); void wocky_data_form_submit (WockyDataForm *self
,WockyNode *node
);
typedef enum { WOCKY_DATA_FORM_ERROR_NOT_FORM, WOCKY_DATA_FORM_ERROR_WRONG_TYPE, } WockyDataFormError;
WockyDataForm specific errors.
struct WockyDataFormField { WockyDataFormFieldType type; gchar *var; gchar *label; gchar *desc; gboolean required; GValue *default_value; GValue *value; /* for LIST_MULTI and LIST_SINGLE only. * List of (WockyDataFormFieldOption *)*/ GSList *options; };
Details about a single data form field in a WockyDataForm.
WockyDataFormFieldType |
the type of the field |
gchar * |
the field name |
gchar * |
the label of the field |
gchar * |
the description of the field |
gboolean |
TRUE if the field is required, otherwise FALSE
|
GValue * |
the default of the field |
GValue * |
the field value |
GSList * |
a GSList of WockyDataFormFieldOptions if type
if WOCKY_DATA_FORM_FIELD_TYPE_LIST_MULTI or
WOCKY_DATA_FORM_FIELD_TYPE_LIST_SINGLE
|
struct WockyDataFormFieldOption { gchar *label; gchar *value; };
A single data form field option.
typedef enum { WOCKY_DATA_FORM_FIELD_TYPE_UNSPECIFIED, /*< skip >*/ WOCKY_DATA_FORM_FIELD_TYPE_BOOLEAN, WOCKY_DATA_FORM_FIELD_TYPE_FIXED, WOCKY_DATA_FORM_FIELD_TYPE_HIDDEN, WOCKY_DATA_FORM_FIELD_TYPE_JID_MULTI, WOCKY_DATA_FORM_FIELD_TYPE_JID_SINGLE, WOCKY_DATA_FORM_FIELD_TYPE_LIST_MULTI, WOCKY_DATA_FORM_FIELD_TYPE_LIST_SINGLE, WOCKY_DATA_FORM_FIELD_TYPE_TEXT_MULTI, WOCKY_DATA_FORM_FIELD_TYPE_TEXT_PRIVATE, WOCKY_DATA_FORM_FIELD_TYPE_TEXT_SINGLE } WockyDataFormFieldType;
Data form field types, as documented in XEP-0004 §3.3.
Unspecified field type | |
Boolean field type | |
Fixed description field type | |
Hidden field type | |
A list of multiple JIDs | |
A single JID | |
Many options to choose one or more from | |
Many options to choose one from | |
Multiple lines of text | |
A single line of text that should be obscured (by, say, asterisks) | |
A single line of text |
const gchar * wocky_data_form_get_instructions (WockyDataForm *self
);
WockyDataForm * wocky_data_form_new_from_form (WockyNode *node
,GError **error
);
gboolean wocky_data_form_parse_result (WockyDataForm *self
,WockyNode *node
,GError **error
);
gboolean wocky_data_form_set_boolean (WockyDataForm *self
,const gchar *field_name
,gboolean field_value
,gboolean create_if_missing
);
|
a data form |
|
the name of a boolean field of self
|
|
the value to fill in for field_name
|
|
if no field named field_name exists, create it |
Returns : |
TRUE if the field was successfully filled in; FALSE if the field
did not exist or does not accept a boolean |
gboolean wocky_data_form_set_string (WockyDataForm *self
,const gchar *field_name
,const gchar *field_value
,gboolean create_if_missing
);
gboolean wocky_data_form_set_strv (WockyDataForm *self
,const gchar *field_name
,const gchar * const *field_values
,gboolean create_if_missing
);
gboolean wocky_data_form_set_type (WockyDataForm *self
,const gchar *form_type
);
Creates a hidden FORM_TYPE field in self
and sets its value to form_type
.
This is intended only to be used on empty forms created for blind
submission.
void wocky_data_form_submit (WockyDataForm *self
,WockyNode *node
);
Adds a node tree which submits self
based on the current values set on
self
's fields.
|
a data form |
|
a node to which to add a form submission |