From 302bf1b523012e11b60425d6eee1221ebc2724eb Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sun, 3 Nov 2019 00:17:46 -0400 Subject: Issue #1258 - Part 1: Import mailnews, ldap, and mork from comm-esr52.9.1 --- mailnews/base/src/nsMsgOfflineManager.h | 85 +++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 mailnews/base/src/nsMsgOfflineManager.h (limited to 'mailnews/base/src/nsMsgOfflineManager.h') diff --git a/mailnews/base/src/nsMsgOfflineManager.h b/mailnews/base/src/nsMsgOfflineManager.h new file mode 100644 index 000000000..07e6b347a --- /dev/null +++ b/mailnews/base/src/nsMsgOfflineManager.h @@ -0,0 +1,85 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef nsMsgOfflineManager_h__ +#define nsMsgOfflineManager_h__ + +#include "nscore.h" +#include "nsIMsgOfflineManager.h" +#include "nsCOMPtr.h" +#include "nsIObserver.h" +#include "nsWeakReference.h" +#include "nsIUrlListener.h" +#include "nsIMsgWindow.h" +#include "nsIMsgSendLaterListener.h" +#include "nsIStringBundle.h" + +class nsMsgOfflineManager + : public nsIMsgOfflineManager, + public nsIObserver, + public nsSupportsWeakReference, + public nsIMsgSendLaterListener, + public nsIUrlListener +{ +public: + + nsMsgOfflineManager(); + + NS_DECL_THREADSAFE_ISUPPORTS + + /* nsIMsgOfflineManager methods */ + + NS_DECL_NSIMSGOFFLINEMANAGER + NS_DECL_NSIOBSERVER + NS_DECL_NSIURLLISTENER + NS_DECL_NSIMSGSENDLATERLISTENER + + typedef enum + { + eStarting = 0, + eSynchronizingOfflineImapChanges = 1, + eDownloadingNews = 2, + eDownloadingMail = 3, + eSendingUnsent = 4, + eDone = 5, + eNoState = 6 // we're not doing anything + } offlineManagerState; + + typedef enum + { + eGoingOnline = 0, + eDownloadingForOffline = 1, + eNoOp = 2 // no operation in progress + } offlineManagerOperation; + +private: + virtual ~nsMsgOfflineManager(); + + nsresult AdvanceToNextState(nsresult exitStatus); + nsresult SynchronizeOfflineImapChanges(); + nsresult StopRunning(nsresult exitStatus); + nsresult SendUnsentMessages(); + nsresult DownloadOfflineNewsgroups(); + nsresult DownloadMail(); + + nsresult SetOnlineState(bool online); + nsresult ShowStatus(const char *statusMsgName); + + bool m_inProgress; + bool m_sendUnsentMessages; + bool m_downloadNews; + bool m_downloadMail; + bool m_playbackOfflineImapOps; + bool m_goOfflineWhenDone; + offlineManagerState m_curState; + offlineManagerOperation m_curOperation; + nsCOMPtr m_window; + nsCOMPtr m_statusFeedback; + nsCOMPtr mStringBundle; + nsCOMPtr mOfflineImapSync; + +}; + +#endif -- cgit v1.2.3