Issue #1258 - Part 1: Import mailnews, ldap, and mork from comm-esr52.9.1

This commit is contained in:
Matt A. Tobin 2019-11-03 00:17:46 -04:00 • committed by Roy Tam
commit e400f4130a
1564 changed files with 510348 additions and 0 deletions

View file

@ -0,0 +1,24 @@
# vim: set filetype=python:
# 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/.
XPIDL_SOURCES += [
'nsIMsgNewsFolder.idl',
'nsIMsgOfflineNewsState.idl',
'nsINewsDownloadDialogArgs.idl',
'nsINNTPArticleList.idl',
'nsINntpIncomingServer.idl',
'nsINNTPNewsgroupList.idl',
'nsINNTPNewsgroupPost.idl',
'nsINNTPProtocol.idl',
'nsINntpService.idl',
'nsINntpUrl.idl',
]
XPIDL_MODULE = 'msgnews'
EXPORTS += [
'nsMsgNewsCID.h',
]

View file

@ -0,0 +1,132 @@
/* -*- 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/. */
#include "nsISupports.idl"
#include "nsIMsgFolder.idl"
%{C++
#include "nsTArray.h"
%}
interface nsIMsgWindow;
interface nsINntpIncomingServer;
[ref] native nsMsgKeyArrayRef(nsTArray<nsMsgKey>);
[scriptable, uuid(9a12c3a5-9de5-4c57-ace3-d51802b525a9)]
interface nsIMsgNewsFolder : nsISupports {
readonly attribute AString unicodeName;
/**|rawName| is an 8-bit string to represent the name of a newsgroup used by
* a news server. It's offered for the convenience of callers so that they
* don't have to convert |unicodeName| to the server-side name when
* communicating with a news server. It's US-ASCII except for some
* 'stand-alone' Chinese news servers that use GB2312 for newsgroup names
* violating RFC 1036. For those servers, it's GB2312. However, it can be any
* other single and multibyte encoding in principle. The encoding of this
* string is stored in |nsINntpIncomingServer| because that's a server-wide
* property.
**/
[noscript] readonly attribute ACString rawName;
readonly attribute nsINntpIncomingServer nntpServer;
attribute boolean saveArticleOffline;
/**
* @name Authentication methods
* NNTP authentication is slightly wonky, due to edge cases that are not seen
* in other protocols. Authentication is not necessary; if authentication is
* used, it could be configured on a per-group basis or even require only a
* username and not a password.
*
* Since passwords could be per-group, it is necessary to refer to passwords
* using the methods on this interface and not nsIMsgIncomingServer. Passwords
* for the server as a whole are found via the root folder. If the server is
* configured to use single sign-on (the default), asking any group for its
* password will result in the server's password, otherwise, each group stores
* its password individually.
*
* Due to this setup, most of the password management functions on
* nsIMsgIncomingServer do not correctly work. The only one that would affect
* the passwords stored on folders correctly is forgetPassword; using any
* other on a news server would result in inconsistent state.
*
* Before requesting either the username or password for authentication, it is
* first necessary to call getAuthenticationCredentials. If the method returns
* true, then groupUsername and groupPassword are appropriately set up for
* necessary authentication; if not, then authentication must be stopped.
*/
/// @{
/**
* Gets the authentication credentials, returning if the results are valid.
*
* If mustPrompt is true, then the user will always be asked for the
* credentials. Otherwise, if mayPrompt is true, then the user will be asked
* for credentials if there are no saved credentials. If mayPrompt is false,
* then no prompt will be shown, even if there are no saved credentials.
*
* If this method returns true, then groupUsername and groupPassword will
* contain non-empty results that could be used for authentication. If this
* method returns false, then the values of groupUsername and groupPassword
* will be cleared if they had previously been set. This could happen if
* mustPrompt were true and the user decided to cancel the authentication
* prompt.
*
* Note that this method will be executed synchronously; if an async prompt
* is wanted, it is the responsibility of the caller to manage it explicitly
* with nsIMsgAsyncPrompter.
*/
bool getAuthenticationCredentials(in nsIMsgWindow aMsgWindow,
in bool mayPrompt, in bool mustPrompt);
/// The username that should be used for this group
attribute ACString groupUsername;
/// The password that should be used for this group
attribute ACString groupPassword;
/// Forgets saved authentication credentials permanently.
void forgetAuthenticationCredentials();
/// @}
void moveFolder(in nsIMsgFolder aNewsgroupToMove, in nsIMsgFolder aRefNewsgroup, in int32_t aOrientation);
nsIMsgFolder addNewsgroup(in AUTF8String newsgroupName, in ACString setStr);
void setReadSetFromStr(in ACString setStr);
readonly attribute ACString newsrcLine;
readonly attribute ACString optionLines;
readonly attribute ACString unsubscribedNewsgroupLines;
void SetNewsrcHasChanged(in boolean newsrcHasChanged);
void updateSummaryFromNNTPInfo(in long oldest, in long youngest, in long total);
void removeMessage(in nsMsgKey key);
[noscript] void removeMessages(in nsMsgKeyArrayRef aMsgKeys);
void cancelComplete();
void cancelFailed();
ACString getMessageIdForKey(in nsMsgKey key);
void getNextNMessages(in nsIMsgWindow aMsgWindow);
void notifyDownloadedLine(in string line, in nsMsgKey key);
void notifyFinishedDownloadinghdrs();
/**
* Retrieves the database, but does not cache it in mDatabase.
*
* This is useful for operations that shouldn't hold open the database.
*/
nsIMsgDatabase getDatabaseWithoutCache();
/**
* Requests that a message be canceled.
*
* Note that, before sending the news cancel, this method will check to make
* sure that the user has proper permission to cancel the message.
*
* @param aMsgHdr The header of the message to be canceled.
* @param aMsgWindow The standard message window object, for error dialogs.
*/
void cancelMessage(in nsIMsgDBHdr aMsgHdr, in nsIMsgWindow aMsgWindow);
};

View file

@ -0,0 +1,23 @@
/* -*- Mode: IDL; 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/. */
/*
* offline news message state. Interface for old MSG_OfflineNewsArtState
*/
#include "nsISupports.idl"
[scriptable, uuid(921AC210-96B5-11d2-B7EB-00805F05FFA5)]
interface nsIMsgOfflineNewsState : nsISupports {
/* outputBuffer is actually
* a buffer to dump data into, but we normally pass it NET_Socket_Buffer,
* which is constant. The implementation should only allocate a new
* buffer if *outputBuffer is NULL.
*/
long Process(out string outputBuffer, in long bufferSize);
long Interrupt();
};

View file

@ -0,0 +1,17 @@
/* -*- Mode: IDL; 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"
#include "MailNewsTypes2.idl"
interface nsIMsgNewsFolder;
[scriptable, uuid(043d9dd4-b133-4eb4-a1a8-71abff69b613)]
interface nsINNTPArticleList : nsISupports {
void initialize(in nsIMsgNewsFolder newsFolder);
void addArticleKey(in nsMsgKey key);
void finishAddingArticleKeys();
};

View file

@ -0,0 +1,93 @@
/* -*- Mode: IDL; 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 nsIMsgNewsFolder;
interface nsINntpUrl;
interface nsIMsgWindow;
/**
* A utility class for nsINNTPProtocol that handles the list of new headers.
*/
[scriptable, uuid(579aa17b-4c77-465d-8eb6-feaa927cb19c)]
interface nsINNTPNewsgroupList : nsISupports {
void initialize(in nsINntpUrl runningURL, in nsIMsgNewsFolder newsFolder);
long getRangeOfArtsToDownload(in nsIMsgWindow aMsgWindow, in long first_message,
in long last_message,
in long maxextra,
out long real_first_message,
out long real_last_message);
void addToKnownArticles(in long first_message, in long last_message);
/**
* Initializes the internal state to get the messages.
*
* This method should be called before sending the line
* <tt>XOVER @arg first_message-@arg last_message</tt> to the server.
*
* @param first_message The first message of the download range.
* @param last_message The last message of the download range.
*/
void initXOVER(in long first_message, in long last_message);
void processXOVERLINE(in string line, out unsigned long status);
void resetXOVER();
void finishXOVERLINE(in long status, out long newstatus);
/**
* Initalizes the state in preparation for a call to XHDR.
*
* @return The next header to get, or an empty string if done.
*/
ACString initXHDR();
/**
* Processes a line of the server's response to XHDR.
*
* It will calculate the message number and other information itself, so the
* unadulterated line itself should be sent.
*
* @param aLine The line as sent from the server.
*/
void processXHDRLine(in ACString aLine);
/**
* Initalizes the internal state to process a HEAD command.
*
* This method should be called before sending the line
* <tt>HEAD @arg aMessage</tt> to the server.
*
* @param aMessage The message number that will be sent.
*/
void initHEAD(in long aMessage);
/**
* Processes a line of the server's response to HEAD.
*
* This will not check for a quoted '.' at the beginning.
*
* @param aLine The line the server sent.
*/
void processHEADLine(in ACString aLine);
/**
* Manages the internal state if the call to HEAD failed.
*
* @param aMessage The message key that caused the HEAD failure.
*/
void HEADFailed(in long aMessage);
/**
* Calls the filters after all messages have been processed.
*
* This method also cleans out some internal state relating to the messages
* that have been processed, so it should always be called at the end of
* XOVER/XHDR/HEAD processing.
*/
void callFilters();
attribute boolean getOldMessages;
};

View file

@ -0,0 +1,54 @@
/* -*- Mode: IDL; 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/. */
/* This object represents the stream of data which will be sent to an
NNTP server. You basically set up all the RFC850 required headers, etc,
then pass it to something that reads off the nsIInputStream interface.
*/
#include "nsISupports.idl"
interface nsIFile;
[scriptable, uuid(9979a2cb-a4e6-45e6-bfeb-b08e704c5a2b)]
interface nsINNTPNewsgroupPost : nsISupports {
/* from RFC850 */
/* section 2.1 - required headers */
attribute string relayVersion;
attribute string postingVersion;
attribute string from;
attribute string date;
void AddNewsgroup(in string newsgroupName);
readonly attribute string newsgroups;
attribute string subject;
attribute string path;
/* Secion 2.2 - optional headers */
attribute string replyTo;
attribute string sender;
attribute string followupTo;
attribute string dateReceived;
attribute string expires;
readonly attribute string references;
attribute string control;
attribute string distribution;
attribute string organization;
/* the message itself */
attribute string body;
/* is this a control message? */
readonly attribute boolean isControl;
attribute nsIFile postMessageFile;
};

View file

@ -0,0 +1,31 @@
/* -*- Mode: IDL; 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 nsIURI;
interface nsIMsgFolder;
interface nsIMsgWindow;
[scriptable, uuid(30106238-0991-11d4-a565-0060b0fc04b7)]
interface nsINNTPProtocol : nsISupports {
/////////////////////////////////////////////////////////////////////////
// isBusy is true if the connection is currently processing a url
// and false otherwise.
/////////////////////////////////////////////////////////////////////////
attribute boolean isBusy;
void LoadNewsUrl(in nsIURI aUri, in nsISupports aConsumer);
void Initialize(in nsIURI aURL, in nsIMsgWindow aMsgWindow);
// Get last active time stamp
void GetLastActiveTimeStamp(out PRTime aTimeStamp);
attribute boolean isCachedConnection;
readonly attribute nsIMsgFolder currentFolder;
void CloseConnection();
};

View file

@ -0,0 +1,19 @@
/* -*- 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/. */
#include "nsISupports.idl"
[scriptable, uuid(3634327c-392b-4686-adf5-576e6cef9196)]
interface nsINewsDownloadDialogArgs: nsISupports {
attribute AString groupName;
attribute long articleCount;
attribute string serverKey;
attribute boolean hitOK;
attribute boolean downloadAll;
};
%{ C++
#define DOWNLOAD_HEADERS_URL "chrome://messenger/content/downloadheaders.xul"
%}

View file

@ -0,0 +1,152 @@
/* -*- Mode: IDL; 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 nsIFile;
interface nsIMsgNewsFolder;
interface nsINNTPProtocol;
interface nsNNTPProtocol;
interface nsIChannel;
interface nsIURI;
interface nsIMsgWindow;
[scriptable, uuid(077620ed-c6c4-4d4d-bed5-4d041f924002)]
interface nsINntpIncomingServer : nsISupports {
/* the on-disk path to the newsrc file for this server */
attribute nsIFile newsrcFilePath;
/* the newsrc root path (the directories all the newsrc files live) */
attribute nsIFile newsrcRootPath;
/* ask the user before downloading more than maxArticles? */
attribute boolean notifyOn;
/* the max articles to download */
attribute long maxArticles;
/* when we don't download all, do we mark the rest read? */
attribute boolean markOldRead;
/* abbreviate the newsgroup names in the folder pane? */
attribute boolean abbreviate;
/* do we use a single login per server or do we login per group */
attribute boolean singleSignon;
/** the server charset and it may be needed to display newsgroup folder
* names correctly
**/
attribute ACString charset;
/* the server keeps track of all the newsgroups we are subscribed to */
void addNewsgroup(in AString name);
void removeNewsgroup(in AString name);
void writeNewsrcFile();
attribute boolean newsrcHasChanged;
/**
* The maximum number of connections to make to the server.
*
* This preference (internally max_cached_connections) controls how many
* connections we can make. A negative connection count is treated as only
* one connection, while 0 (the default) loads the default number of
* connections, presently 2.
*/
attribute long maximumConnectionsNumber;
void displaySubscribedGroup(in nsIMsgNewsFolder msgFolder,
in long firstMessage, in long lastMessage,
in long totalMessages);
/**
* Get a new NNTP channel to run the URI.
*
* If the server has used up all of its connections, this will place the URI
* in the queue to be run when one is freed.
*
* @param uri The URI to run.
* @param window The standard message window object.
*/
nsIChannel getNntpChannel(in nsIURI uri, in nsIMsgWindow window);
/**
* Enqueues a URI to be run when we have a free connection.
*
* If there is one already free, it will be immediately started.
*
* @param uri The URI to run.
* @param window The standard message window object.
* @param consumer An argument to be passed to nsINNTPProtocol:LoadNewUrl.
*/
void loadNewsUrl(in nsIURI uri, in nsIMsgWindow window,
in nsISupports consumer);
/**
* Remove a connection from our connection cache.
*
* @param aNntpConnection The connection to be removed.
*/
void removeConnection(in nsINNTPProtocol aNntpConnection);
/**
* Load the next URI in the queue to the given connection.
*
* @param aNntpConnection The newly-freed connection.
*/
[noscript] void prepareForNextUrl(in nsNNTPProtocol aNntpConnection);
/**
* Returns whether or not the server has subscribed to the given newsgroup.
*
* Note that the name here is intended to be escaped; however, since `%' is
* not a legal newsgroup name, it is possibly safe to pass in an unescaped
* newsgroup name.
*/
boolean containsNewsgroup(in AUTF8String escapedName);
void subscribeToNewsgroup(in AUTF8String name);
/* used for the subscribe dialog.
name is encoded in |charset| (attribute declared above) */
[noscript] void addNewsgroupToList(in string name);
attribute boolean supportsExtensions;
void addExtension(in string extension);
boolean queryExtension(in string extension);
attribute boolean postingAllowed;
attribute boolean pushAuth;
attribute unsigned long lastUpdatedTime;
void addPropertyForGet(in string name, in string value);
string queryPropertyForGet(in string name);
void addSearchableGroup(in AString name);
boolean querySearchableGroup(in AString name);
void addSearchableHeader(in string headerName);
boolean querySearchableHeader(in string headerName);
/**
* Returns the folder corresponding to the given group.
*
* Note that this name is expected to be unescaped.
* @note If the group does not exist, a bogus news folder will be returned.
* DO NOT call this method unless you are sure that the newsgroup
* is subscribed to (e.g., by containsNewsgroup)
*/
nsIMsgNewsFolder findGroup(in AUTF8String name);
readonly attribute AUTF8String firstGroupNeedingExtraInfo;
void setGroupNeedsExtraInfo(in AUTF8String name, in boolean needsExtraInfo);
void groupNotFound(in nsIMsgWindow window, in AString group,
in boolean opening);
void setPrettyNameForGroup(in AString name, in AString prettyName);
};

View file

@ -0,0 +1,50 @@
/* -*- Mode: IDL; 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"
#include "nsIUrlListener.idl"
#include "nsINntpIncomingServer.idl"
#include "MailNewsTypes2.idl"
interface nsIURI;
interface nsIFile;
interface nsIMsgWindow;
interface nsIMsgFolder;
interface nsICacheStorage;
[scriptable, uuid(dc5cadb0-966c-4ef1-a4c8-cc1e48d1ac61)]
interface nsINntpService : nsISupports {
/* newsgroupsList is a comma separated list of newsgroups, which may be
* in news://host/group or group form
* "news://host/group1,news://host/group2" or "group1,group2"
*
* newsgroupsHeaderVal is a comma separated list of groups in the group form
* "group1,group2"
*
* newshostHeaderVal is a single hostname.
* "host"
*/
void generateNewsHeaderValsForPosting(in ACString newsgroupsList, out string newsgroupsHeaderVal, out string newshostHeaderVal);
nsIURI postMessage(in nsIFile aFileToPost, in string newsgroupNames, in string aAccountKey, in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow);
nsIURI getNewNews(in nsINntpIncomingServer nntpServer, in string uri, in boolean getOld, in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow);
nsIURI cancelMessage(in string cancelURL, in string messageURI, in nsISupports aConsumer, in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow);
void getListOfGroupsOnServer(in nsINntpIncomingServer nntpServer, in nsIMsgWindow aMsgWindow, in boolean getOnlyNew);
nsIURI fetchMessage(in nsIMsgFolder newsFolder, in nsMsgKey key, in nsIMsgWindow aMsgWindow, in nsISupports aConsumer, in nsIUrlListener aUrlListener);
void downloadNewsgroupsForOffline(in nsIMsgWindow aMsgWindow, in nsIUrlListener aListener);
/**
* can handle news-message:// and news://
*/
void decomposeNewsURI(in string uri, out nsIMsgFolder folder, out nsMsgKey key);
// handle to the cache session used by news....
readonly attribute nsICacheStorage cacheStorage;
};

View file

@ -0,0 +1,99 @@
/* -*- Mode: IDL; 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/. */
#include "nsISupports.idl"
#include "MailNewsTypes2.idl"
interface nsINNTPNewsgroupPost;
typedef long nsNewsAction;
/**
* Represents specific attributes to a URL for news usage.
*
* Note that the urls represented by this interface can be one of five schemes:
* [s]news, nntp[s], or news-message. Any URI that is valid under RFC 5538 will
* be accepted. However, it is possible for some queries to be invalid. There
* are also a few important things to note:
*
* - Missing authorities in [s]news: URIs cause nsIMsgMailNewsUrl::server and
* nsIMsgMessageUrl::folder to be null.
* - nsIMsgMailNewsUrl::server and nsIMsgMessageUrl::folder will be null if the
* specified server does not actually exist. In addition, the folder is null
* if the group is not currently subscribed on that server.
* - Although news-message URIs are parsable, there is no protocol handler
* associated with this url. To run these, you should convert these to the
* corresponding [s]news or nntp URL, and set the original one in
* nsIMsgMessageUrl::uri and ::originalSpec.
* - A URI that results in an ActionUnknown will not be run.
* - Cancel URIs require the original spec to also be set, so it can find both
* the message ID and the group/key combination.
* * Some actions require either a group or a message id. Since actions can be
* set after the fact, these conditions are not verified.
*/
[scriptable, uuid(ef920ca3-9c46-48b8-9fa3-cb430d3681ea)]
interface nsINntpUrl : nsISupports {
/// For ActionPostArticle URIs, the message to be posted.
attribute nsINNTPNewsgroupPost messageToPost;
/**
* The action that this URL will take when run.
*
* Most actions can be automatically determined from the URL spec as follows:
*
* 1. The query string is searched for the appropriate action.
*
* 2. A non-empty message ID or key is found (sets ActionFetchArticle).
*
* 3. A non-empty group is found (ActionGetNewNews or ActionListGroups).
*/
attribute nsNewsAction newsAction;
/// For ActionGetNewNews URIs, whether or not to get older messages.
attribute boolean getOldMessages;
/**
* The group portion of the URI, if one is present.
*
* This group name is fully unescaped; if you need to construct news URLs with
* this value, be sure to escape it first.
*/
readonly attribute ACString group;
/// The message ID portion of the URI, if one is present
readonly attribute ACString messageID;
/// The message key portion of the URI or nsMsgKey_None if not present
readonly attribute nsMsgKey key;
/// The action of this news URI could not be determined
const nsNewsAction ActionUnknown = 0;
/// Fetch the contents of an article
const nsNewsAction ActionFetchArticle = 1;
/// Fetch the part of an article (requires ?part=)
const nsNewsAction ActionFetchPart = 2;
/// Save the contents of an article to disk
const nsNewsAction ActionSaveMessageToDisk = 3;
/// Cancel the article (requires ?cancel)
const nsNewsAction ActionCancelArticle = 4;
/// Post an article
const nsNewsAction ActionPostArticle = 5;
/// List the non-expired ids in the newsgroup (requires ?list-ids)
const nsNewsAction ActionListIds = 6;
/// Do an online newsgroup search (requires ?search)
const nsNewsAction ActionSearch = 7;
/// Retrieve new messages from the server
const nsNewsAction ActionGetNewNews = 8;
/// List groups for subscribe
const nsNewsAction ActionListGroups = 9;
/// List new groups for subscribe (requires ?new-groups)
const nsNewsAction ActionListNewGroups = 10;
/// Constant for the default NNTP over ssl port number
const int32_t DEFAULT_NNTP_PORT = 119;
/// Constant for the default NNTP over ssl port number
const int32_t DEFAULT_NNTPS_PORT = 563;
};

View file

@ -0,0 +1,117 @@
/* -*- 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 nsMsgNewsCID_h__
#define nsMsgNewsCID_h__
#include "nsISupports.h"
#include "nsIFactory.h"
#include "nsIComponentManager.h"
#include "nsMsgBaseCID.h"
//
// nsMsgNewsFolder
#define NS_NEWSFOLDERRESOURCE_CONTRACTID \
NS_RDF_RESOURCE_FACTORY_CONTRACTID_PREFIX "news"
#define NS_NEWSFOLDERRESOURCE_CID \
{ /* 4ace448a-f6d4-11d2-880d-004005263078 */ \
0x4ace448a, 0xf6d4, 0x11d2, \
{0x88, 0x0d, 0x00, 0x40, 0x05, 0x26, 0x30, 0x78} \
}
//
// nsNntpIncomingServer
//
#define NS_NNTPINCOMINGSERVER_CONTRACTID \
NS_MSGINCOMINGSERVER_CONTRACTID_PREFIX "nntp"
#define NS_NNTPINCOMINGSERVER_CID \
{ /* 6ff28d0a-f776-11d2-87ca-004005263078 */ \
0x6ff28d0a, 0xf776, 0x11d2, \
{0x87, 0xca, 0x00, 0x40, 0x05, 0x26, 0x30, 0x78} \
}
//
// nsNntpService
//
#define NS_NNTPPROTOCOLINFO_CONTRACTID \
NS_MSGPROTOCOLINFO_CONTRACTID_PREFIX "nntp"
#define NS_NEWSPROTOCOLHANDLER_CONTRACTID \
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "news"
#define NS_SNEWSPROTOCOLHANDLER_CONTRACTID \
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "snews"
#define NS_NNTPPROTOCOLHANDLER_CONTRACTID \
NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "nntp"
#define NS_NEWSMESSAGESERVICE_CONTRACTID \
"@mozilla.org/messenger/messageservice;1?type=news-message"
#define NS_NNTPMESSAGESERVICE_CONTRACTID \
"@mozilla.org/messenger/messageservice;1?type=news"
#define NS_NNTPSERVICE_CONTRACTID \
"@mozilla.org/messenger/nntpservice;1"
#define NS_NEWSSTARTUPHANDLER_CONTRACTID \
"@mozilla.org/commandlinehandler/general-startup;1?type=news"
#define NS_NNTPSERVICE_CID \
{ /* 4C9F90E1-E19B-11d2-806E-006008128C4E */ \
0x4c9f90e1, 0xe19b, 0x11d2, \
{0x80, 0x6e, 0x0, 0x60, 0x8, 0x12, 0x8c, 0x4e} \
}
//
// nsNNTPNewsgroupPost
//
#define NS_NNTPNEWSGROUPPOST_CONTRACTID \
"@mozilla.org/messenger/nntpnewsgrouppost;1"
#define NS_NNTPNEWSGROUPPOST_CID \
{ /* 30c60228-187e-11d3-842f-004005263078 */ \
0x30c60228, 0x187e, 0x11d3, \
{0x84, 0x2f, 0x00, 0x40, 0x05, 0x26, 0x30, 0x78} \
}
//
// nsNNTPNewsgroupList
//
#define NS_NNTPNEWSGROUPLIST_CONTRACTID \
"@mozilla.org/messenger/nntpnewsgrouplist;1"
#define NS_NNTPNEWSGROUPLIST_CID \
{ /* 631e9054-1893-11d3-9916-004005263078 */ \
0x631e9054, 0x1893, 0x11d3, \
{0x99, 0x16, 0x00, 0x40, 0x05, 0x26, 0x30, 0x78} \
}
//
// nsNNTPArticleList
//
#define NS_NNTPARTICLELIST_CONTRACTID \
"@mozilla.org/messenger/nntparticlelist;1"
#define NS_NNTPARTICLELIST_CID \
{ /* 9f12bdf0-189f-11d3-973e-00805f916fd3 */ \
0x9f12bdf0, 0x189f, 0x11d3, \
{0x97, 0x3e, 0x00, 0x80, 0x5f, 0x91, 0x6f, 0xd3} \
}
//
// nsNntpUrl
//
#define NS_NNTPURL_CONTRACTID \
"@mozilla.org/messenger/nntpurl;1"
#define NS_NNTPURL_CID \
{ /* 196B4B30-E18C-11d2-806E-006008128C4E */ \
0x196b4b30, 0xe18c, 0x11d2, \
{ 0x80, 0x6e, 0x0, 0x60, 0x8, 0x12, 0x8c, 0x4e } }
//
// nsNewsDownloadDialogArgs
//
#define NS_NEWSDOWNLOADDIALOGARGS_CONTRACTID \
"@mozilla.org/messenger/newsdownloaddialogargs;1"
#define NS_NEWSDOWNLOADDIALOGARGS_CID \
{ /* 1540689e-1dd2-11b2-933d-f0d1e460ef4a */ \
0x1540689e, 0x1dd2, 0x11b2, \
{ 0x93, 0x3d, 0xf0, 0xd1, 0xe4, 0x60, 0xef, 0x4a} }
#endif // nsMsgNewsCID_h__