gecko-dev/mailnews/local/public/nsIMailboxService.idl

68 строки
2.4 KiB
Plaintext

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#include "nsISupports.idl"
#include "nsIUrlListener.idl"
interface nsIURI;
interface nsIStreamListener;
interface nsIMsgWindow;
[ref] native nsFileSpec(nsFileSpec);
%{C++
#include "nsFileSpec.h"
%}
[scriptable, uuid(EEF82460-CB69-11d2-8065-006008128C4E)]
interface nsIMailboxService : nsISupports {
/*
* All of these functions build mailbox urls and run them. If you want a
* handle on the running task, pass in a valid nsIURI ptr. You can later
* interrupt this action by asking the netlib service manager to interrupt
* the url you are given back. Remember to release aURL when you are done
* with it. Pass nsnull in for aURL if you don't care about the returned URL.
*/
/*
* Pass in a file path for the mailbox you wish to parse. You also need to
* pass in a mailbox parser (the consumer). The url listener can be null
* if you have no interest in tracking the url.
*/
[noscript] nsIURI ParseMailbox(in nsIMsgWindow aMsgWindow, in nsFileSpec aMailboxPath,
in nsIStreamListener aMailboxParser,
in nsIUrlListener aUrlListener);
/*
* This is more of a convience function for testing purposes. We want
* to able to say: display message number 'n' in this mailbox without
* having to go out and get the key for message number 'n'. this
* function simply makes that possible.
*/
nsIURI DisplayMessageNumber(in string url,
in unsigned long aMessageNumber,
in nsISupports aDisplayConsumer,
in nsIUrlListener aUrlListener);
};