Fix modest_tny_msg_header_get_all_recipients_list (in case from is empty)
[modest] / src / modest-presets.h
index b542fdf..96e90d1 100644 (file)
@@ -31,6 +31,7 @@
 #define __MODEST_PRESETS_H__
 
 #include <glib.h>
+#include <modest-protocol.h>
 
 struct _ModestPresets {
 /* private data: don't touch */
@@ -38,21 +39,6 @@ struct _ModestPresets {
 };
 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:
@@ -69,23 +55,25 @@ ModestPresets*            modest_presets_new             (const gchar *presetfil
  * 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
  * 
@@ -94,28 +82,102 @@ gchar **                  modest_presets_get_providers   (ModestPresets *self, g
  * 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);