File indexing completed on 2024-11-24 04:53:12

0001 /* Copyright (C) 2006 - 2014 Jan Kundrát <jkt@flaska.net>
0002 
0003    This file is part of the Trojita Qt IMAP e-mail client,
0004    http://trojita.flaska.net/
0005 
0006    This program is free software; you can redistribute it and/or
0007    modify it under the terms of the GNU General Public License as
0008    published by the Free Software Foundation; either version 2 of
0009    the License or (at your option) version 3 or any later version
0010    accepted by the membership of KDE e.V. (or its successor approved
0011    by the membership of KDE e.V.), which shall act as a proxy
0012    defined in Section 14 of version 3 of the license.
0013 
0014    This program is distributed in the hope that it will be useful,
0015    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017    GNU General Public License for more details.
0018 
0019    You should have received a copy of the GNU General Public License
0020    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021 */
0022 
0023 #ifndef TROJITA_IMAP_NETWORKPOLICY_H
0024 #define TROJITA_IMAP_NETWORKPOLICY_H
0025 
0026 namespace Imap {
0027 namespace Mailbox {
0028 
0029 /** @short Policy for accessing network */
0030 enum NetworkPolicy {
0031     /** @short No access to the network at all
0032 
0033     All network activity is suspended. If an action requires network access,
0034     it will either fail or be queued for later. */
0035     NETWORK_OFFLINE,
0036 
0037     /** @short Connections are possible, but expensive
0038 
0039     Information that is cached is preferred, as long as it is usable.
0040     Trojita will never miss a mail in this mode, but for example it won't
0041     check for new mailboxes. */
0042     NETWORK_EXPENSIVE,
0043 
0044     /** @short Connections have zero cost
0045 
0046     Normal mode of operation. All network activity is assumed to have zero
0047     cost and Trojita is free to ask network as often as possible. It will
0048     still use local cache when it makes sense, though. */
0049     NETWORK_ONLINE,
0050 };
0051 
0052 }
0053 }
0054 
0055 #endif