Add a time hint when reporting notifications
[modest] / src / modest-utils.h
index 8f88a35..3e28048 100644 (file)
@@ -45,6 +45,13 @@ typedef enum _ModestSortDialogType {
        MODEST_SORT_HEADERS,
 } ModestSortDialogType;
 
+typedef struct _ModestMsgNotificationData {
+       gchar *subject;
+       gchar *from;
+       gchar *uri;
+       time_t time;
+} ModestMsgNotificationData;
+
 GQuark modest_utils_get_supported_secure_authentication_error_quark (void);
 
 
@@ -189,4 +196,72 @@ void modest_utils_on_entry_invalid_character (ModestValidatingEntry *self,
                                              const gchar* character,
                                              gpointer user_data);
 
+/**
+ * modest_utils_open_mcc_mapping_file:
+ * @translated: a #gboolean pointer
+ *
+ * open the mcc mapping file, or %NULL if it fails. It also
+ * sets @translated to %TRUE if the file is translated
+ *
+ * Returns: file ptr or %NULL in case of error
+ */
+FILE* modest_utils_open_mcc_mapping_file (gboolean from_lc_messages, gboolean *translated);
+
+typedef enum {
+       MODEST_UTILS_COUNTRY_MODEL_COLUMN_NAME = 0,
+       MODEST_UTILS_COUNTRY_MODEL_COLUMN_MCC = 1,
+       MODEST_UTILS_COUNTRY_MODEL_N_COLUMNS
+} ModestUtilsCountryModelColumns;
+
+/**
+ * modest_utils_create_country_model:
+ * @locale_mcc: a #gboolean
+ *
+ * creates the countries tree model used in wizard from the mcc
+ * files.
+ *
+ * Returns: an empty #GtkTreeModel with the columns enumerated in
+ *  #ModestUtilsCountryModelColumns
+ */
+GtkTreeModel *modest_utils_create_country_model (void);
+
+/**
+ * modest_utils_fill_country_model:
+ * @model: a #GtkTreeModel (obtained with modest_utils_create_country_model
+ * @locale_mcc: a #gboolean
+ *
+ * fills the countries tree model used in wizard from the mcc
+ * files.
+ *
+ */
+void modest_utils_fill_country_model (GtkTreeModel *model, gint *locale_mcc);
+
+/**
+ * modest_utils_create_notification_list_from_header_list:
+ * @header_list: a #TnyList of #TnyHeader instances
+ *
+ * This function transforms a list of #TnyHeader objects into a list
+ * that will be used to issue new email notifications
+ *
+ * Returns: a #GList of #ModestMsgNotificationData
+ **/
+GList *modest_utils_create_notification_list_from_header_list (TnyList *header_list);
+
+/**
+ * modest_utils_free_notification_list:
+ * @notification_list: a #GList of #ModestMsgNotificationData
+ *
+ * Frees a list of #ModestMsgNotificationData structures
+ **/
+void  modest_utils_free_notification_list (GList *notification_list);
+
+/**
+ * modest_utils_flush_send_queue:
+ * @account_id: the ID of the modest account
+ *
+ * Flushes the send queue of the given account. That will try to send
+ * all the remaining messages in the send queue
+ **/
+void  modest_utils_flush_send_queue (const gchar *account_id);
+
 #endif /*__MODEST_MAEMO_UTILS_H__*/