#include <modest-protocol-info.h>
#include <modest-pair.h>
#include <modest-defs.h>
-
+#include <modest-text-utils.h>
typedef struct {
gint proto;
{ MODEST_PROTOCOL_AUTH_CRAMMD5, MODEST_ACCOUNT_AUTH_MECH_VALUE_CRAMMD5, N_("Cram MD5") }
};
-
static ModestPairList*
get_protocol_pair_list (const ProtocolInfo* map, guint size)
{
return proto_list;
}
+static gint
+get_protocol_by_name (const ProtocolInfo* map,
+ guint size,
+ const gchar* query_name,
+ gint default_value,
+ gboolean case_sensitive)
+{
+ guint i;
+
+ g_return_val_if_fail (map, default_value);
+ g_return_val_if_fail (query_name, default_value);
+
+ for(i = 0; i < size; ++i)
+ if (modest_text_utils_utf8_strcmp (map[i].name, query_name,
+ !case_sensitive) == 0)
+ return map[i].proto;
+
+ return default_value;
+}
ModestPairList*
-modest_protocol_info_get_transport_store_protocol_pair_list ()
+modest_protocol_info_get_transport_store_protocol_pair_list (void)
{
return get_protocol_pair_list (TransportStoreProtocolMap,
G_N_ELEMENTS(TransportStoreProtocolMap));
}
ModestPairList*
-modest_protocol_info_get_auth_protocol_pair_list ()
+modest_protocol_info_get_auth_protocol_pair_list (void)
{
return get_protocol_pair_list (AuthProtocolMap,
G_N_ELEMENTS(AuthProtocolMap));
}
ModestPairList*
-modest_protocol_info_get_connection_protocol_pair_list ()
+modest_protocol_info_get_connection_protocol_pair_list (void)
{
return get_protocol_pair_list (ConnectionProtocolMap,
G_N_ELEMENTS(ConnectionProtocolMap));
}
-
ModestTransportStoreProtocol
modest_protocol_info_get_transport_store_protocol (const gchar* name)
{
- const ProtocolInfo *map = TransportStoreProtocolMap;
- const guint size = G_N_ELEMENTS(TransportStoreProtocolMap);
- int i;
-
g_return_val_if_fail (name, MODEST_PROTOCOL_TRANSPORT_STORE_UNKNOWN);
- g_return_val_if_fail (map, MODEST_PROTOCOL_TRANSPORT_STORE_UNKNOWN);
+ return get_protocol_by_name(TransportStoreProtocolMap,
+ G_N_ELEMENTS(TransportStoreProtocolMap),
+ name,
+ MODEST_PROTOCOL_TRANSPORT_STORE_UNKNOWN,
+ TRUE);
+}
- for (i = 0; i != size; ++i) {
- const ProtocolInfo info = map[i];
- if (strcmp(name, info.name) == 0)
- return info.proto;
- }
+ModestAuthProtocol
+modest_protocol_info_get_auth_protocol (const gchar* name)
+{
+ g_return_val_if_fail (name, MODEST_PROTOCOL_AUTH_NONE);
- return MODEST_PROTOCOL_TRANSPORT_STORE_UNKNOWN;
+ return get_protocol_by_name(AuthProtocolMap,
+ G_N_ELEMENTS(AuthProtocolMap),
+ name,
+ MODEST_PROTOCOL_AUTH_NONE,
+ FALSE);
}
-
/* get either the name or the display_name for the protocol */
static const gchar*
get_protocol_string (gint proto, const ProtocolInfo* map, guint size, gboolean get_name)