mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-26 02:17:34 +09:00
Issue #1258 - Part 1: Import mailnews, ldap, and mork from comm-esr52.9.1
This commit is contained in:
parent
23e0d82436
commit
e400f4130a
1564 changed files with 510348 additions and 0 deletions
137
mailnews/imap/src/nsImapIncomingServer.h
Normal file
137
mailnews/imap/src/nsImapIncomingServer.h
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
/* -*- 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 __nsImapIncomingServer_h
|
||||
#define __nsImapIncomingServer_h
|
||||
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "msgCore.h"
|
||||
#include "nsIImapIncomingServer.h"
|
||||
#include "nsMsgIncomingServer.h"
|
||||
#include "nsIImapServerSink.h"
|
||||
#include "nsIStringBundle.h"
|
||||
#include "nsISubscribableServer.h"
|
||||
#include "nsIUrlListener.h"
|
||||
#include "nsIMsgImapMailFolder.h"
|
||||
#include "nsCOMArray.h"
|
||||
#include "nsTArray.h"
|
||||
#include "mozilla/Mutex.h"
|
||||
|
||||
class nsIRDFService;
|
||||
|
||||
/* get some implementation from nsMsgIncomingServer */
|
||||
class nsImapIncomingServer : public nsMsgIncomingServer,
|
||||
public nsIImapIncomingServer,
|
||||
public nsIImapServerSink,
|
||||
public nsISubscribableServer,
|
||||
public nsIUrlListener
|
||||
{
|
||||
public:
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
|
||||
nsImapIncomingServer();
|
||||
|
||||
// overriding nsMsgIncomingServer methods
|
||||
NS_IMETHOD SetKey(const nsACString& aKey) override; // override nsMsgIncomingServer's implementation...
|
||||
NS_IMETHOD GetLocalStoreType(nsACString& type) override;
|
||||
NS_IMETHOD GetLocalDatabaseType(nsACString& type) override;
|
||||
|
||||
NS_DECL_NSIIMAPINCOMINGSERVER
|
||||
NS_DECL_NSIIMAPSERVERSINK
|
||||
NS_DECL_NSISUBSCRIBABLESERVER
|
||||
NS_DECL_NSIURLLISTENER
|
||||
|
||||
NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow) override;
|
||||
NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) override;
|
||||
NS_IMETHOD CloseCachedConnections() override;
|
||||
NS_IMETHOD GetConstructedPrettyName(nsAString& retval) override;
|
||||
NS_IMETHOD GetCanBeDefaultServer(bool *canBeDefaultServer) override;
|
||||
NS_IMETHOD GetCanCompactFoldersOnServer(bool *canCompactFoldersOnServer
|
||||
) override;
|
||||
NS_IMETHOD GetCanUndoDeleteOnServer(bool *canUndoDeleteOnServer) override;
|
||||
NS_IMETHOD GetCanSearchMessages(bool *canSearchMessages) override;
|
||||
NS_IMETHOD GetCanEmptyTrashOnExit(bool *canEmptyTrashOnExit) override;
|
||||
NS_IMETHOD GetOfflineSupportLevel(int32_t *aSupportLevel) override;
|
||||
NS_IMETHOD GeneratePrettyNameForMigration(nsAString& aPrettyName) override;
|
||||
NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace) override;
|
||||
NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer
|
||||
) override;
|
||||
NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer
|
||||
) override;
|
||||
NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *filterScope) override;
|
||||
NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *searchScope) override;
|
||||
NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff
|
||||
) override;
|
||||
NS_IMETHOD OnUserOrHostNameChanged(const nsACString& oldName,
|
||||
const nsACString& newName,
|
||||
bool hostnameChanged) override;
|
||||
NS_IMETHOD GetNumIdleConnections(int32_t *aNumIdleConnections);
|
||||
NS_IMETHOD ForgetSessionPassword() override;
|
||||
NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource,
|
||||
const nsACString& aURI,
|
||||
nsIMsgFolder **aFolder) override;
|
||||
NS_IMETHOD SetSocketType(int32_t aSocketType) override;
|
||||
NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow,
|
||||
nsIURI **aURL) override;
|
||||
|
||||
protected:
|
||||
virtual ~nsImapIncomingServer();
|
||||
nsresult GetFolder(const nsACString& name, nsIMsgFolder** pFolder);
|
||||
virtual nsresult CreateRootFolderFromUri(const nsCString &serverUri,
|
||||
nsIMsgFolder **rootFolder) override;
|
||||
nsresult ResetFoldersToUnverified(nsIMsgFolder *parentFolder);
|
||||
void GetUnverifiedSubFolders(nsIMsgFolder *parentFolder,
|
||||
nsCOMArray<nsIMsgImapMailFolder> &aFoldersArray);
|
||||
void GetUnverifiedFolders(nsCOMArray<nsIMsgImapMailFolder> &aFolderArray);
|
||||
nsresult DeleteNonVerifiedFolders(nsIMsgFolder *parentFolder);
|
||||
bool NoDescendentsAreVerified(nsIMsgFolder *parentFolder);
|
||||
bool AllDescendentsAreNoSelect(nsIMsgFolder *parentFolder);
|
||||
|
||||
nsresult GetStringBundle();
|
||||
static nsresult AlertUser(const nsAString& aString, nsIMsgMailNewsUrl *aUrl);
|
||||
|
||||
private:
|
||||
nsresult SubscribeToFolder(const char16_t *aName, bool subscribe);
|
||||
nsresult GetImapConnection(nsIImapUrl* aImapUrl,
|
||||
nsIImapProtocol** aImapConnection);
|
||||
nsresult CreateProtocolInstance(nsIImapProtocol ** aImapConnection);
|
||||
nsresult CreateHostSpecificPrefName(const char *prefPrefix, nsAutoCString &prefName);
|
||||
|
||||
nsresult DoomUrlIfChannelHasError(nsIImapUrl *aImapUrl, bool *urlDoomed);
|
||||
bool ConnectionTimeOut(nsIImapProtocol* aImapConnection);
|
||||
nsresult GetFormattedStringFromName(const nsAString& aValue, const char* aName, nsAString& aResult);
|
||||
nsresult GetPrefForServerAttribute(const char *prefSuffix, bool *prefValue);
|
||||
bool CheckSpecialFolder(nsIRDFService *rdf, nsCString &folderUri,
|
||||
uint32_t folderFlag, nsCString &existingUri);
|
||||
|
||||
nsCOMArray<nsIImapProtocol> m_connectionCache;
|
||||
nsCOMArray<nsIImapUrl> m_urlQueue;
|
||||
nsCOMPtr<nsIStringBundle> m_stringBundle;
|
||||
nsCOMArray<nsIMsgFolder> m_subscribeFolders; // used to keep folder resources around while subscribe UI is up.
|
||||
nsCOMArray<nsIMsgImapMailFolder> m_foldersToStat; // folders to check for new mail with Status
|
||||
nsTArray<nsISupports*> m_urlConsumers;
|
||||
eIMAPCapabilityFlags m_capability;
|
||||
nsCString m_manageMailAccountUrl;
|
||||
bool m_userAuthenticated;
|
||||
bool mDoingSubscribeDialog;
|
||||
bool mDoingLsub;
|
||||
bool m_shuttingDown;
|
||||
|
||||
mozilla::Mutex mLock;
|
||||
// subscribe dialog stuff
|
||||
nsresult AddFolderToSubscribeDialog(const char *parentUri, const char *uri,const char *folderName);
|
||||
nsCOMPtr <nsISubscribableServer> mInner;
|
||||
nsresult EnsureInner();
|
||||
nsresult ClearInner();
|
||||
|
||||
// Utility function for checking folder existence
|
||||
nsresult GetExistingMsgFolder(const nsACString& aURI,
|
||||
nsACString& folderUriWithNamespace,
|
||||
bool& namespacePrefixAdded,
|
||||
bool caseInsensitive,
|
||||
nsIMsgFolder **aFolder);
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue