mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 04:27:37 +00:00
f05e5d2a14
Bug #5938 --> add get/set charset over-ride to I18N urls.
115 lines
4.9 KiB
Plaintext
115 lines
4.9 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* 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 "nsIURL.idl"
|
|
|
|
interface nsIFileSpec;
|
|
interface nsIUrlListener;
|
|
interface nsIMsgStatusFeedback;
|
|
interface nsIMsgIncomingServer;
|
|
interface nsIMsgWindow;
|
|
interface nsILoadGroup;
|
|
interface nsIMsgSearchSession;
|
|
|
|
[scriptable, uuid(6CFFCEB0-CB8C-11d2-8065-006008128C4E)]
|
|
interface nsIMsgMailNewsUrl : nsIURL {
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Eventually we'd like to push this type of functionality up into nsIURI.
|
|
// The idea is to allow the "application" (the part of the code which wants to
|
|
// run a url in order to perform some action) to register itself as a listener
|
|
// on url. As a url listener, the app will be informed when the url begins to run
|
|
// and when the url is finished.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
void RegisterListener (in nsIUrlListener aUrlListener);
|
|
void UnRegisterListener (in nsIUrlListener aUrlListener);
|
|
|
|
// Eventually these will be removed and replaced with calls to nsIMsgStatusFeedback
|
|
void SetErrorMessage (in string errorMessage);
|
|
void GetErrorMessage (out string errorMessage);
|
|
|
|
// if you really want to know what the current state of the url is (running or not
|
|
// running) you should look into becoming a urlListener...
|
|
void SetUrlState(in boolean runningUrl, in nsresult aStatusCode);
|
|
void GetUrlState(out boolean runningUrl);
|
|
|
|
void GetServer(out nsIMsgIncomingServer aIncomingServer);
|
|
|
|
// the ownership model for msg feedback
|
|
void SetStatusFeedback(in nsIMsgStatusFeedback aMsgFeedback);
|
|
void GetStatusFeedback(out nsIMsgStatusFeedback aMsgFeedback);
|
|
|
|
void SetMsgWindow(in nsIMsgWindow aMsgWindow);
|
|
void GetMsgWindow(out nsIMsgWindow aMsgWindow);
|
|
|
|
// the load group is computed from the msgWindow
|
|
readonly attribute nsILoadGroup loadGroup;
|
|
|
|
// search session, if we're running a search.
|
|
attribute nsIMsgSearchSession searchSession;
|
|
attribute boolean updatingFolder;
|
|
attribute boolean addToMemoryCache;
|
|
|
|
const unsigned long eCopy = 0;
|
|
const unsigned long eMove = 1;
|
|
const unsigned long eDisplay = 2;
|
|
boolean IsUrlType(in unsigned long type);
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
// This is a very small interface which I'm grouping with the mailnewsUrl interface.
|
|
// Several url types (mailbox, imap, nntp) have similar properties because they can
|
|
// represent mail messages. For instance, these urls can be have URI
|
|
// equivalents which represent a message.
|
|
// We want to provide the app the ability to get the URI for the
|
|
// url. This URI to URL mapping doesn't exist for all mailnews urls...hence I'm
|
|
// grouping it into a separate interface...
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
[scriptable, uuid(02338DD2-E7B9-11d2-8070-006008128C4E)]
|
|
interface nsIMsgMessageUrl : nsISupports {
|
|
// get and set the RDF URI associated with the url. Note, not all urls have
|
|
// had uri's set on them so be prepared to handle cases where this string is empty.
|
|
attribute string uri;
|
|
// used by imap, pop and nntp in order to implement save message to disk
|
|
attribute nsIFileSpec messageFile;
|
|
attribute boolean AddDummyEnvelope;
|
|
attribute boolean canonicalLineEnding;
|
|
attribute string originalSpec;
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
// This is a very small interface which I'm grouping with the mailnewsUrl interface.
|
|
// I want to isolate out all the I18N specific information that may be associated with
|
|
// any given mailnews url. This gives I18N their own "sandbox" of routines they can add
|
|
// and tweak as they see fit. For now it contains mostly charset information.
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
[scriptable, uuid(D71E0785-2862-11d4-98C1-001083010E9B)]
|
|
interface nsIMsgI18NUrl : nsISupports {
|
|
// the charset associated with a folder for this url.....
|
|
readonly attribute wstring folderCharset;
|
|
// the charsetOverRide is a charset the user may have specified via the menu for
|
|
// a particular message
|
|
attribute wstring charsetOverRide;
|
|
};
|