X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-protocol-info.c;h=684a5982c832013ee8306ccef49aa44c2fdf186f;hb=c48710f6ec77e4ac1ec76f92a2367839b19adea3;hp=5a579aa3bc850f76677f4a550f6ae63e45b81a43;hpb=3aefa2e752a5a148fe8672f898618f7a8b8799ea;p=modest diff --git a/src/modest-protocol-info.c b/src/modest-protocol-info.c index 5a579aa..684a598 100644 --- a/src/modest-protocol-info.c +++ b/src/modest-protocol-info.c @@ -32,7 +32,7 @@ #include #include #include - +#include typedef struct { gint proto; @@ -50,6 +50,11 @@ static const ProtocolInfo TransportStoreProtocolMap[] = { { MODEST_PROTOCOL_STORE_MBOX, "mbox", N_("MBox") } }; +static const ProtocolInfo SupportedStoreProtocolMap[] = { + { MODEST_PROTOCOL_STORE_POP, "pop", N_("POP3") }, + { MODEST_PROTOCOL_STORE_IMAP, "imap", N_("IMAPv4") }, +}; + static const ProtocolInfo ConnectionProtocolMap[] = { { MODEST_PROTOCOL_CONNECTION_NORMAL, "none", N_("None") }, { MODEST_PROTOCOL_CONNECTION_SSL, "ssl", N_("SSL") }, @@ -94,35 +99,40 @@ get_protocol_by_name (const ProtocolInfo* map, 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((case_sensitive && strcmp(map[i].name, query_name) == 0) || - (!case_sensitive && g_ascii_strcasecmp(map[i].name, query_name) == 0)) - { + 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_supported_store_protocol_pair_list (void) +{ + return get_protocol_pair_list (SupportedStoreProtocolMap, + G_N_ELEMENTS(SupportedStoreProtocolMap)); +} + + +ModestPairList* +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)); @@ -131,6 +141,8 @@ modest_protocol_info_get_connection_protocol_pair_list () ModestTransportStoreProtocol modest_protocol_info_get_transport_store_protocol (const gchar* name) { + g_return_val_if_fail (name, MODEST_PROTOCOL_TRANSPORT_STORE_UNKNOWN); + return get_protocol_by_name(TransportStoreProtocolMap, G_N_ELEMENTS(TransportStoreProtocolMap), name, @@ -141,6 +153,8 @@ modest_protocol_info_get_transport_store_protocol (const gchar* name) ModestAuthProtocol modest_protocol_info_get_auth_protocol (const gchar* name) { + g_return_val_if_fail (name, MODEST_PROTOCOL_AUTH_NONE); + return get_protocol_by_name(AuthProtocolMap, G_N_ELEMENTS(AuthProtocolMap), name, @@ -148,6 +162,18 @@ modest_protocol_info_get_auth_protocol (const gchar* name) FALSE); } +ModestConnectionProtocol +modest_protocol_info_get_connection_protocol (const gchar* name) +{ + g_return_val_if_fail (name, MODEST_PROTOCOL_CONNECTION_NORMAL); + + return get_protocol_by_name(ConnectionProtocolMap, + G_N_ELEMENTS(ConnectionProtocolMap), + name, + MODEST_PROTOCOL_CONNECTION_NORMAL, + FALSE); +} + /* get either the name or the display_name for the protocol */ static const gchar*