| Top |
| gchar * | instructions | Read / Write / Construct Only |
| gchar * | title | Read / Write / Construct Only |
| enum | WockyDataFormFieldType |
| struct | WockyDataFormFieldOption |
| struct | WockyDataFormField |
| enum | WockyDataFormError |
| struct | WockyDataFormClass |
| struct | WockyDataForm |
WockyDataForm * wocky_data_form_new_from_form (WockyNode *node,GError **error);
WockyDataForm * wocky_data_form_new_from_node (WockyNode *x,GError **error);
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.
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);
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.
gboolean wocky_data_form_parse_result (WockyDataForm *self,WockyNode *node,GError **error);
const gchar *
wocky_data_form_get_instructions (WockyDataForm *self);
gint wocky_data_form_field_cmp (const WockyDataFormField *left,const WockyDataFormField *right);
void wocky_data_form_add_to_node (WockyDataForm *self,WockyNode *node);
Adds a node tree with default values of self
based on the defaults
set on each field when first created.
This function is for adding a data form to an existing node, like
the query node of a disco response. wocky_data_form_submit(), in
contrast, is for adding a node tree which submits the data form
based on the current values set on its fields.
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 |
struct WockyDataFormFieldOption {
gchar *label;
gchar *value;
};
A single data form field option.
struct WockyDataFormField {
WockyDataFormFieldType type;
gchar *var;
gchar *label;
gchar *desc;
gboolean required;
GValue *default_value;
gchar **raw_value_contents;
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 |
||
GValue * |
the default of the field |
|
gchar ** |
a { "1", NULL }
or { "false", NULL }
for a WOCKY_DATA_FORM_FIELD_TYPE_BOOLEAN field, or { "hi", "there", NULL }
for a WOCKY_DATA_FORM_FIELD_TYPE_TEXT_MULTI field. |
|
GValue * |
the field value |
|
GSList * |
a GSList of WockyDataFormFieldOptions if |
struct WockyDataForm {
/* (gchar *) owned by the WockyDataFormField =>
* borrowed (WockyDataFormField *) */
GHashTable *fields;
/* list containing owned (WockyDataFormField *) in the order they
* have been presented in the form */
GSList *fields_list;
/* list of GSList * of (WockyDataFormField *), representing one or more sets
* of results */
GSList *results;
};
An object that represents an XMPP data form as described in XEP-0004.
GHashTable * |
a GHashTable of strings to WockyDataFormFields |
|
GSList * |
a list of WockyDataFormFields in the order they have been presented in the form |
|
GSList * |
a list of GSLists of WockyDataFormFields representing one or more sets of result. |