gnome-scan r667 - in trunk: . modules/gsane
- From: bersace svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-scan r667 - in trunk: . modules/gsane
- Date: Fri, 12 Dec 2008 20:43:38 +0000 (UTC)
Author: bersace
Date: Fri Dec 12 20:43:38 2008
New Revision: 667
URL: http://svn.gnome.org/viewvc/gnome-scan?rev=667&view=rev
Log:
Use SANE_Value_Type for rules by type.
Modified:
trunk/ChangeLog
trunk/modules/gsane/gsane-option-manager.c
trunk/modules/gsane/gsane-option-manager.h
Modified: trunk/modules/gsane/gsane-option-manager.c
==============================================================================
--- trunk/modules/gsane/gsane-option-manager.c (original)
+++ trunk/modules/gsane/gsane-option-manager.c Fri Dec 12 20:43:38 2008
@@ -49,20 +49,30 @@
}
void
-gsane_option_manager_add_rule_by_type(GSaneOptionManager* self, GType value_type, GType handler_type)
+gsane_option_manager_add_rule_by_name(GSaneOptionManager* self, const gchar* name, GType handler_type)
{
- g_hash_table_insert(self->priv->type_rules, (gpointer) value_type, (gpointer) handler_type);
+ g_hash_table_insert(self->priv->type_rules, g_strdup(name), (gpointer)handler_type);
}
void
-gsane_option_manager_add_rule_by_name(GSaneOptionManager* self, const gchar* name, GType handler_type)
+gsane_option_manager_add_rule_by_type(GSaneOptionManager* self, SANE_Value_Type value_type, GType handler_type)
{
- g_hash_table_insert(self->priv->type_rules, g_strdup(name), (gpointer)handler_type);
+ g_hash_table_insert(self->priv->type_rules, (gpointer)value_type, (gpointer) handler_type);
}
GType
-gsane_option_manager_get_handler_type(GSaneOptionManager* self, SANE_Int n)
+gsane_option_manager_get_handler_type(GSaneOptionManager* self, const SANE_Option_Descriptor* desc)
{
+ GType type = G_TYPE_INVALID;
+
+ type = (GType) g_hash_table_lookup(self->priv->name_rules, desc->name);
+ if (type != G_TYPE_INVALID)
+ return type;
+
+ type = (GType) g_hash_table_lookup(self->priv->type_rules, (gpointer)desc->type);
+ if (type != G_TYPE_INVALID)
+ return type;
+
return G_TYPE_INVALID;
}
@@ -79,7 +89,7 @@
GSaneOptionManager *self = GSANE_OPTION_MANAGER(instance);
self->priv = GSANE_OPTION_MANAGER_GET_PRIVATE(instance);
self->priv->name_rules = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
- self->priv->type_rules = g_hash_table_new(g_int_hash, g_int_equal);
+ self->priv->type_rules = g_hash_table_new(g_direct_hash, g_direct_equal);
}
GType
Modified: trunk/modules/gsane/gsane-option-manager.h
==============================================================================
--- trunk/modules/gsane/gsane-option-manager.h (original)
+++ trunk/modules/gsane/gsane-option-manager.h Fri Dec 12 20:43:38 2008
@@ -48,9 +48,9 @@
GSaneOptionManager* gsane_option_manager_new(void);
void gsane_option_manager_destroy(GSaneOptionManager *self);
-void gsane_option_manager_add_rule_by_type(GSaneOptionManager* self, GType value_type, GType handler_type);
+void gsane_option_manager_add_rule_by_type(GSaneOptionManager* self, SANE_Value_Type value_type, GType handler_type);
void gsane_option_manager_add_rule_by_name(GSaneOptionManager* self, const gchar* name, GType handler_type);
-GType gsane_option_manager_get_handler_type(GSaneOptionManager* self, SANE_Int n);
+GType gsane_option_manager_get_handler_type(GSaneOptionManager* self, const SANE_Option_Descriptor* desc);
GType gsane_option_manager_get_type(void) G_GNUC_CONST;
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]