/* -*- 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;
};



