mailnews/news/public/nsINntpService.idl
author Ian Neal <iann_cvs@blueyonder.co.uk>
Sat, 10 Nov 2012 13:18:57 +0000
changeset 14212 5360b51933378fde236ebcb564bc3c33314dd4a6
parent 12286 84ac3c71109811da751f0ef2d72108075938f094
child 19756 edbe40b94a4d60c66d45c3a9d3a163908cdda053
permissions -rw-r--r--
Bug 802352 - Port |Bug 797049 - Disable C4351 as an MSVC warning about a change to be standards-compliant in MSVC2005 (!). Also sync up warning-disabling between configure.in and js/src/configure.in, and add comments about the warnings being disabled| to comm-central r=callek

/* -*- 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"
#include "nsIMsgIdentity.idl"

interface nsIURI;
interface nsIStreamListener;  
interface nsIFile;
interface nsIMsgWindow;
interface nsIMsgFolder;
interface nsICacheSession;

[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 nsICacheSession cacheSession;
};