2 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3 * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #include "claws-features.h"
29 #include "mainwindow.h"
30 #include "progressdialog.h"
31 #include "prefs_account.h"
35 typedef struct _IncProgressDialog IncProgressDialog;
36 typedef struct _IncSession IncSession;
53 struct _IncProgressDialog
55 ProgressDialog *dialog;
61 #if GLIB_CHECK_VERSION(2,61,2)
62 GDateTime *progress_tv;
69 GList *queue_list; /* list of IncSession */
83 #define TIMEOUT_ITV 200
85 void inc_mail (MainWindow *mainwin,
87 gint inc_account_mail (MainWindow *mainwin,
88 PrefsAccount *account);
90 /* This function just blindly checks all accounts in the passed
91 * account_list, and doesn't care about whether the configuration
92 * says they should be checked or not. These checks should be done
93 * by the caller, and account_list should look accordingly.
94 * The caller is responsible for freeing the list afterwards. */
95 void inc_account_list_mail (MainWindow *mainwin,
96 GList *list, /* linked list of PrefsAccount* pointers */
100 /* This function is used by the global autocheck interval (autocheck TRUE),
101 * or check at startup (check_at_startup TRUE)
102 * or by the manual 'Receive all' feature (autocheck FALSE). It makes
103 * sure correct list of accounts is marked for checking, based on
104 * global and account configuration, and calls inc_account_list_mail(). */
105 void inc_all_account_mail (MainWindow *mainwin,
107 gboolean check_at_startup,
110 void inc_progress_update (Pop3Session *session);
112 void inc_pop_before_smtp (PrefsAccount *acc);
114 gboolean inc_is_active (void);
116 void inc_cancel_all (void);
118 extern guint inc_lock_count;
119 #define inc_lock() { \
121 debug_print("called inc_lock (lock count %d)\n", inc_lock_count); \
124 #define inc_unlock() { \
126 debug_print("called inc_unlock (lock count %d)\n", inc_lock_count); \
129 void inc_lock_real (void);
130 void inc_unlock_real (void);
132 void inc_autocheck_timer_init (MainWindow *mainwin);
133 void inc_autocheck_timer_set (void);
134 void inc_autocheck_timer_remove (void);
135 gboolean inc_offline_should_override(gboolean force_ask, const gchar *msg);
137 void inc_account_autocheck_timer_remove(PrefsAccount *account);
138 void inc_account_autocheck_timer_set_interval(PrefsAccount *account);
140 void inc_reset_offline_override_timers();
142 #endif /* __INC_H__ */