diff options
Diffstat (limited to 'mailnews/base/public/nsIMsgFolderCompactor.idl')
-rw-r--r-- | mailnews/base/public/nsIMsgFolderCompactor.idl | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/mailnews/base/public/nsIMsgFolderCompactor.idl b/mailnews/base/public/nsIMsgFolderCompactor.idl new file mode 100644 index 000000000..66fc27854 --- /dev/null +++ b/mailnews/base/public/nsIMsgFolderCompactor.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* 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/. */ + +#include "nsISupports.idl" + +interface nsIMsgFolder; +interface nsIMsgWindow; +interface nsIUrlListener; +interface nsIArray; + +[scriptable, uuid(38c7e876-3083-4aea-8dcd-0ea0ec1753a3)] + +/** + * Use this for any object that wants to handle compacting folders. + * Currently, the folders themselves create this object. + */ + +interface nsIMsgFolderCompactor : nsISupports +{ + /** + * Compact the given folder, or its offline store (imap/news only) + * + * @param aFolder The folder to compact + * @param aOfflineStore Just compact the offline store? + * @param aListener Notified of completion, can be null. + * @param aMsgWindow Used for progress/status, can be null + */ + void compact(in nsIMsgFolder aFolder, in boolean aOfflineStore, + in nsIUrlListener aListener, in nsIMsgWindow aMsgWindow); + + /** + * Compact the passed in array of folders, and the passed in offline stores. + * + * @param aArrayOfFoldersToCompact The folders to compact. + * @param aOfflineFolderArray Folders whose offline stores we + * should compact, can be null. + * @param aListener Notified of completion, can be null. + * @param aMsgWindow Used for progress/status, can be null + */ + void compactFolders(in nsIArray aArrayOfFoldersToCompact, + in nsIArray aOfflineFolderArray, + in nsIUrlListener aListener, + in nsIMsgWindow aMsgWindow); +}; |