mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 09:27:31 +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
87
mailnews/imap/src/nsIMAPNamespace.h
Normal file
87
mailnews/imap/src/nsIMAPNamespace.h
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
/* -*- Mode: C++; tab-width: 4; 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 _nsIMAPNamespace_H_
|
||||
#define _nsIMAPNamespace_H_
|
||||
|
||||
#include "nsTArray.h"
|
||||
|
||||
class nsIMAPNamespace
|
||||
{
|
||||
|
||||
public:
|
||||
nsIMAPNamespace(EIMAPNamespaceType type, const char *prefix, char delimiter, bool from_prefs);
|
||||
|
||||
~nsIMAPNamespace();
|
||||
|
||||
EIMAPNamespaceType GetType() { return m_namespaceType; }
|
||||
const char * GetPrefix() { return m_prefix; }
|
||||
char GetDelimiter() { return m_delimiter; }
|
||||
void SetDelimiter(char delimiter, bool delimiterFilledIn);
|
||||
bool GetIsDelimiterFilledIn() { return m_delimiterFilledIn; }
|
||||
bool GetIsNamespaceFromPrefs() { return m_fromPrefs; }
|
||||
|
||||
// returns -1 if this box is not part of this namespace,
|
||||
// or the length of the prefix if it is part of this namespace
|
||||
int MailboxMatchesNamespace(const char *boxname);
|
||||
|
||||
protected:
|
||||
EIMAPNamespaceType m_namespaceType;
|
||||
char *m_prefix;
|
||||
char m_delimiter;
|
||||
bool m_fromPrefs;
|
||||
bool m_delimiterFilledIn;
|
||||
|
||||
};
|
||||
|
||||
|
||||
// represents an array of namespaces for a given host
|
||||
class nsIMAPNamespaceList
|
||||
{
|
||||
public:
|
||||
~nsIMAPNamespaceList();
|
||||
|
||||
static nsIMAPNamespaceList *CreatensIMAPNamespaceList();
|
||||
|
||||
nsresult InitFromString(const char *nameSpaceString, EIMAPNamespaceType nstype);
|
||||
nsresult OutputToString(nsCString &OutputString);
|
||||
int UnserializeNamespaces(const char *str, char **prefixes, int len);
|
||||
nsresult SerializeNamespaces(char **prefixes, int len, nsCString &serializedNamespace);
|
||||
|
||||
void ClearNamespaces(bool deleteFromPrefsNamespaces, bool deleteServerAdvertisedNamespaces, bool reallyDelete);
|
||||
int GetNumberOfNamespaces();
|
||||
int GetNumberOfNamespaces(EIMAPNamespaceType);
|
||||
nsIMAPNamespace *GetNamespaceNumber(int nodeIndex);
|
||||
nsIMAPNamespace *GetNamespaceNumber(int nodeIndex, EIMAPNamespaceType);
|
||||
|
||||
nsIMAPNamespace *GetDefaultNamespaceOfType(EIMAPNamespaceType type);
|
||||
int AddNewNamespace(nsIMAPNamespace *ns);
|
||||
nsIMAPNamespace *GetNamespaceForMailbox(const char *boxname);
|
||||
static nsIMAPNamespace* GetNamespaceForFolder(const char *hostName,
|
||||
const char *canonicalFolderName,
|
||||
char delimiter);
|
||||
static bool GetFolderIsNamespace(const char *hostName,
|
||||
const char *canonicalFolderName,
|
||||
char delimiter,nsIMAPNamespace *namespaceForFolder);
|
||||
static char* GetFolderNameWithoutNamespace(nsIMAPNamespace *namespaceForFolder, const char *canonicalFolderName);
|
||||
static char *AllocateServerFolderName(const char *canonicalFolderName, char delimiter);
|
||||
static char *GetFolderOwnerNameFromPath(nsIMAPNamespace *namespaceForFolder, const char *canonicalFolderName);
|
||||
static char *AllocateCanonicalFolderName(const char *onlineFolderName, char delimiter);
|
||||
static void SuggestHierarchySeparatorForNamespace(nsIMAPNamespace *namespaceForFolder, char delimiterFromFolder);
|
||||
static char *GenerateFullFolderNameWithDefaultNamespace(const char *hostName,
|
||||
const char *canonicalFolderName,
|
||||
const char *owner,
|
||||
EIMAPNamespaceType nsType,
|
||||
nsIMAPNamespace **nsUsed);
|
||||
|
||||
protected:
|
||||
nsIMAPNamespaceList(); // use CreatensIMAPNamespaceList to create one
|
||||
|
||||
nsTArray<nsIMAPNamespace*> m_NamespaceList;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue