#define __MODEST_PRESETS_H__
#include <glib.h>
+#include <modest-protocol.h>
struct _ModestPresets {
/* private data: don't touch */
};
typedef struct _ModestPresets ModestPresets;
-enum _ModestPresetsInfo {
- /* two bits for the server type */
- MODEST_PRESETS_INFO_NONE = 0x0000,
- MODEST_PRESETS_INFO_IMAP = 0x0001,
- MODEST_PRESETS_INFO_POP = 0x0002,
- MODEST_PRESETS_INFO_SMTP = 0x0003,
-
- /* one bit for each of these */
- MODEST_PRESETS_INFO_APOP = 0x0004,
- MODEST_PRESETS_INFO_SECURE_SMTP = 0x0008,
- MODEST_PRESETS_INFO_SECURE_INCOMING = 0x000f
-};
-
-typedef enum _ModestPresetsInfo ModestPresetsInfo;
-
/**
* modest_presets_new:
* modest_presets_get_providers:
* @self: a valid ModestPresets instance
* @mcc: limit the search to providers with this mcc (Mobile Country Code),
- * or <0 to get all
- * @include_globals: include providers without MCC (such as GMail, Yahoo) if @mcc != 0?
+ * or 0 to get all
+ * @include_globals: include (global) providers without MCC (such as GMail, Yahoo)
+ * @provider_ids: Output parameter, which will be set to a newly allocated array of strings, or NULL in case of error.
*
- * get a list of providers
+ * get a list of providers matching certian criteria
*
- * Returns: a newly allocated array of strings, or NULL in case of error
- * should be freed with g_strvfree
+ * Returns: The provider names, as a newly allocated array of strings, or NULL in case of error
+ * should be freed with g_strfreev
*
**/
-gchar ** modest_presets_get_providers (ModestPresets *self, gint mcc,
- gboolean include_globals);
+gchar ** modest_presets_get_providers (ModestPresets *self, guint mcc,
+ gboolean include_globals, gchar ***provider_ids);
/**
* modest_presets_get_server:
* @self: a valid ModestPresets instance
- * @provider: name of the provider
- * @incoming: get the incoming mailserver if TRUE, get the outgoing server otherwise
+ * @provider_id: ID of the provider
+ * @incoming_server: get the incoming mailserver if TRUE, get the
+ * outgoing server otherwise
*
* get the name of a incoming or outgoing mailserver
*
* non-standard port, the port number is appended to the name, eg. pop.foo.fi:995
*/
gchar * modest_presets_get_server (ModestPresets *self,
- const gchar *provider,
+ const gchar *provider_id,
gboolean incoming_server);
+
+/**
+ * modest_presets_get_domain:
+ * @self: a valid ModestPresets instance
+ * @provider_id: ID of the provider
+ *
+ * Get the name of the most-used domain for theis provider. For instance. hotmail.com
+ *
+ * Returns: a newly allocated string with the domain name, or NULL in case
+ * of error.
+ */
+gchar * modest_presets_get_domain (ModestPresets *self,
+ const gchar *provider_id);
+
/**
- * modest_presets_get_info:
+ * modest_presets_get_info_server_type:
* @self: a valid ModestPresets instance
- * @provider: name of the provider
- * @incoming: get the incoming mailserver if TRUE, get the outgoing server otherwise
+ * @provider_id: ID of the provider
+ * @incoming_server: get the incoming mailserver if TRUE, get the
+ * outgoing server otherwise
*
* get information about some incoming or outgoing mailserver
*
- * Returns: a ModestPresetsInfo with the required information
+ * Returns: a #ModestProtocolType with the required information
*/
-ModestPresetsInfo modest_presets_get_info (ModestPresets *self,
- const gchar *provider,
- gboolean incoming_server);
+ModestProtocolType modest_presets_get_info_server_type (ModestPresets *self,
+ const gchar *provider_id,
+ gboolean incoming_server);
/**
- * modest_presets_destroy:
+ * modest_presets_get_info_server_security:
* @self: a valid ModestPresets instance
+ * @provider_id: ID of the provider
+ * @incoming_server: get the incoming mailserver if TRUE, get the
+ * outgoing server otherwise
*
- * destroy ModestPresets instance; this is required after you're done with it.
+ * get information about some incoming or outgoing mailserver
*
+ * Returns: #ModestProtocolType with server auth
+ */
+ModestProtocolType modest_presets_get_info_server_auth (ModestPresets *self,
+ const gchar *provider_id,
+ gboolean incoming_server);
+
+/**
+ * modest_presets_get_info_server_security:
+ * @self: a valid ModestPresets instance
+ * @provider_id: ID of the provider
+ * @incoming_server: get the incoming mailserver if TRUE, get the
+ * outgoing server otherwise
+ *
+ * get information about some incoming or outgoing mailserver
+ *
+ * Returns: #ModestProtocolType with server security
+ */
+ModestProtocolType modest_presets_get_info_server_security (ModestPresets *self,
+ const gchar *provider_id,
+ gboolean incoming_server);
+
+/**
+ * modest_presets_get_info_server_security:
+ * @self: a valid ModestPresets instance
+ * @provider_id: ID of the provider
+ * @incoming_server: get the incoming mailserver if TRUE, get the
+ * outgoing server otherwise
+ *
+ * get information about some incoming or outgoing mailserver
+ *
+ * Returns: %TRUE if we should use the alternate port.
+ */
+gboolean modest_presets_get_info_server_use_alternate_port (ModestPresets *self,
+ const gchar *provider_id,
+ gboolean incoming_server);
+
+
+/**
+ * modest_presets_get_port:
+ * @self: a valid ModestPresets instance
+ * @provider_id: ID of the provider
+ * @incoming_server: get port# for the incoming mailserver if TRUE, for the outgoing server otherwise
+ *
+ * Returns: the specific port number for some provider
+ * function return 0 if the normal port number is valid
+ *
+ */
+guint modest_presets_get_port (ModestPresets *self, const gchar* provider_id,
+ gboolean incoming_server);
+
+
+/**
+ * modest_presets_destroy:
+ * @self: a valid ModestPresets instance (ie. must not be NULL)
+ *
+ * destroy ModestPresets instance; this is required after you're done with it.
*/
void modest_presets_destroy (ModestPresets *self);