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. |