libpurple/request.c

changeset 42122
77a267934abf
parent 42120
1de24f50c9a6
child 42127
18acb99a0fa6
--- a/libpurple/request.c	Sun Mar 05 02:16:11 2023 -0600
+++ b/libpurple/request.c	Sun Mar 05 02:26:17 2023 -0600
@@ -46,19 +46,6 @@
 	GSList *notify_on_close;
 } PurpleRequestInfo;
 
-struct _PurpleRequestFields
-{
-	GList *groups;
-
-	GHashTable *fields;
-
-	GList *required_fields;
-
-	GList *validated_fields;
-
-	void *ui_data;
-};
-
 struct _PurpleRequestCommonParameters {
 	PurpleAccount *account;
 	PurpleConversation *conv;
@@ -359,301 +346,6 @@
 	return NULL;
 }
 
-PurpleRequestFields *
-purple_request_fields_new(void)
-{
-	PurpleRequestFields *fields;
-
-	fields = g_new0(PurpleRequestFields, 1);
-
-	fields->fields = g_hash_table_new_full(g_str_hash, g_str_equal,
-										   g_free, NULL);
-
-	return fields;
-}
-
-void
-purple_request_fields_destroy(PurpleRequestFields *fields)
-{
-	g_return_if_fail(fields != NULL);
-
-	g_list_free_full(fields->groups,
-	                 (GDestroyNotify)purple_request_field_group_destroy);
-	g_list_free(fields->required_fields);
-	g_list_free(fields->validated_fields);
-	g_hash_table_destroy(fields->fields);
-	g_free(fields);
-}
-
-void
-_purple_request_field_list_set_field_required(PurpleRequestFields *fields,
-                                              PurpleRequestField *field,
-                                              gboolean required)
-{
-	g_return_if_fail(fields != NULL);
-
-	if(required) {
-		fields->required_fields = g_list_append(fields->required_fields, field);
-	} else {
-		fields->required_fields = g_list_remove(fields->required_fields, field);
-	}
-}
-
-void
-_purple_request_field_list_set_field_validator(PurpleRequestFields *fields,
-                                               PurpleRequestField *field,
-                                               gboolean validator)
-{
-	g_return_if_fail(fields != NULL);
-
-	fields->validated_fields = g_list_remove(fields->validated_fields, field);
-	if(validator) {
-		fields->validated_fields = g_list_append(fields->validated_fields,
-		                                         field);
-	}
-}
-
-void
-_purple_request_field_list_add_field(PurpleRequestFields *fields,
-                                     PurpleRequestField *field)
-{
-	g_return_if_fail(fields != NULL);
-
-	g_hash_table_insert(fields->fields,
-	                    g_strdup(purple_request_field_get_id(field)), field);
-
-	if(purple_request_field_is_required(field)) {
-		fields->required_fields = g_list_append(fields->required_fields,
-		                                        field);
-	}
-
-	if(purple_request_field_is_validatable(field)) {
-		fields->validated_fields = g_list_append(fields->validated_fields,
-		                                         field);
-	}
-}
-
-void
-purple_request_fields_add_group(PurpleRequestFields *fields,
-							  PurpleRequestFieldGroup *group)
-{
-	GList *l;
-	PurpleRequestField *field;
-
-	g_return_if_fail(fields != NULL);
-	g_return_if_fail(group  != NULL);
-
-	fields->groups = g_list_append(fields->groups, group);
-
-	_purple_request_field_group_set_field_list(group, fields);
-
-	for (l = purple_request_field_group_get_fields(group);
-		 l != NULL;
-		 l = l->next) {
-
-		field = l->data;
-
-		g_hash_table_insert(fields->fields,
-			g_strdup(purple_request_field_get_id(field)), field);
-
-		if (purple_request_field_is_required(field)) {
-			fields->required_fields =
-				g_list_append(fields->required_fields, field);
-		}
-
-		if (purple_request_field_is_validatable(field)) {
-			fields->validated_fields =
-				g_list_append(fields->validated_fields, field);
-		}
-	}
-}
-
-GList *
-purple_request_fields_get_groups(const PurpleRequestFields *fields)
-{
-	g_return_val_if_fail(fields != NULL, NULL);
-
-	return fields->groups;
-}
-
-gboolean
-purple_request_fields_exists(const PurpleRequestFields *fields, const char *id)
-{
-	g_return_val_if_fail(fields != NULL, FALSE);
-	g_return_val_if_fail(id     != NULL, FALSE);
-
-	return (g_hash_table_lookup(fields->fields, id) != NULL);
-}
-
-const GList *
-purple_request_fields_get_required(const PurpleRequestFields *fields)
-{
-	g_return_val_if_fail(fields != NULL, NULL);
-
-	return fields->required_fields;
-}
-
-const GList *
-purple_request_fields_get_validatable(const PurpleRequestFields *fields)
-{
-	g_return_val_if_fail(fields != NULL, NULL);
-
-	return fields->validated_fields;
-}
-
-gboolean
-purple_request_fields_is_field_required(const PurpleRequestFields *fields,
-									  const char *id)
-{
-	PurpleRequestField *field;
-
-	g_return_val_if_fail(fields != NULL, FALSE);
-	g_return_val_if_fail(id     != NULL, FALSE);
-
-	if ((field = purple_request_fields_get_field(fields, id)) == NULL)
-		return FALSE;
-
-	return purple_request_field_is_required(field);
-}
-
-gboolean
-purple_request_fields_all_required_filled(const PurpleRequestFields *fields)
-{
-	GList *l;
-
-	g_return_val_if_fail(fields != NULL, FALSE);
-
-	for (l = fields->required_fields; l != NULL; l = l->next)
-	{
-		PurpleRequestField *field = (PurpleRequestField *)l->data;
-
-		if (!purple_request_field_is_filled(field))
-			return FALSE;
-	}
-
-	return TRUE;
-}
-
-gboolean
-purple_request_fields_all_valid(const PurpleRequestFields *fields)
-{
-	GList *l;
-
-	g_return_val_if_fail(fields != NULL, FALSE);
-
-	for (l = fields->validated_fields; l != NULL; l = l->next)
-	{
-		PurpleRequestField *field = (PurpleRequestField *)l->data;
-
-		if (!purple_request_field_is_valid(field, NULL))
-			return FALSE;
-	}
-
-	return TRUE;
-}
-
-PurpleRequestField *
-purple_request_fields_get_field(const PurpleRequestFields *fields, const char *id)
-{
-	PurpleRequestField *field;
-
-	g_return_val_if_fail(fields != NULL, NULL);
-	g_return_val_if_fail(id     != NULL, NULL);
-
-	field = g_hash_table_lookup(fields->fields, id);
-
-	g_return_val_if_fail(field != NULL, NULL);
-
-	return field;
-}
-
-const char *
-purple_request_fields_get_string(const PurpleRequestFields *fields, const char *id)
-{
-	PurpleRequestField *field;
-
-	g_return_val_if_fail(fields != NULL, NULL);
-	g_return_val_if_fail(id     != NULL, NULL);
-
-	if ((field = purple_request_fields_get_field(fields, id)) == NULL)
-		return NULL;
-
-	return purple_request_field_string_get_value(field);
-}
-
-int
-purple_request_fields_get_integer(const PurpleRequestFields *fields,
-								const char *id)
-{
-	PurpleRequestField *field;
-
-	g_return_val_if_fail(fields != NULL, 0);
-	g_return_val_if_fail(id     != NULL, 0);
-
-	if ((field = purple_request_fields_get_field(fields, id)) == NULL)
-		return 0;
-
-	return purple_request_field_int_get_value(field);
-}
-
-gboolean
-purple_request_fields_get_bool(const PurpleRequestFields *fields, const char *id)
-{
-	PurpleRequestField *field;
-
-	g_return_val_if_fail(fields != NULL, FALSE);
-	g_return_val_if_fail(id     != NULL, FALSE);
-
-	if ((field = purple_request_fields_get_field(fields, id)) == NULL)
-		return FALSE;
-
-	return purple_request_field_bool_get_value(field);
-}
-
-gpointer
-purple_request_fields_get_choice(const PurpleRequestFields *fields,
-	const char *id)
-{
-	PurpleRequestField *field;
-
-	g_return_val_if_fail(fields != NULL, NULL);
-	g_return_val_if_fail(id != NULL, NULL);
-
-	if ((field = purple_request_fields_get_field(fields, id)) == NULL)
-		return NULL;
-
-	return purple_request_field_choice_get_value(field);
-}
-
-PurpleAccount *
-purple_request_fields_get_account(const PurpleRequestFields *fields,
-								const char *id)
-{
-	PurpleRequestField *field;
-
-	g_return_val_if_fail(fields != NULL, NULL);
-	g_return_val_if_fail(id     != NULL, NULL);
-
-	if ((field = purple_request_fields_get_field(fields, id)) == NULL)
-		return NULL;
-
-	return purple_request_field_account_get_value(field);
-}
-
-gpointer purple_request_fields_get_ui_data(const PurpleRequestFields *fields)
-{
-	g_return_val_if_fail(fields != NULL, NULL);
-
-	return fields->ui_data;
-}
-
-void purple_request_fields_set_ui_data(PurpleRequestFields *fields, gpointer ui_data)
-{
-	g_return_if_fail(fields != NULL);
-
-	fields->ui_data = ui_data;
-}
-
 /* -- */
 
 static gchar *
@@ -933,7 +625,10 @@
 {
 	GList *itg;
 
-	for (itg = fields->groups; itg != NULL; itg = g_list_next(itg)) {
+	for (itg = purple_request_fields_get_groups(fields);
+	     itg != NULL;
+	     itg = g_list_next(itg))
+	{
 		PurpleRequestFieldGroup *group = itg->data;
 		GList *itf;
 

mercurial