Revision control

Copy as Markdown

Other Tools

/* -*- 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 nsIMsgEnumerator;
interface nsIMsgDBHdr;
interface nsIDBChangeAnnouncer;
[scriptable, uuid(84052876-90e9-4e21-ad38-13e2bb751d8f)]
interface nsIMsgThread : nsISupports {
attribute nsMsgKey threadKey;
attribute unsigned long flags;
attribute ACString subject;
attribute unsigned long newestMsgDate;
readonly attribute unsigned long numChildren;
readonly attribute unsigned long numUnreadChildren;
readonly attribute unsigned long numNewChildren;
void addChild(in nsIMsgDBHdr child, in nsIMsgDBHdr inReplyTo, in boolean threadInThread, in nsIDBChangeAnnouncer announcer);
nsMsgKey getChildKeyAt(in unsigned long index);
nsIMsgDBHdr getChild(in nsMsgKey msgKey);
nsIMsgDBHdr getChildHdrAt(in unsigned long index);
nsIMsgDBHdr getRootHdr();
void removeChildAt(in unsigned long index);
void removeChildHdr(in nsIMsgDBHdr child, in nsIDBChangeAnnouncer announcer);
void markChildNew(in boolean bRead);
void markChildRead(in boolean bRead);
nsIMsgDBHdr getFirstUnreadChild();
nsIMsgEnumerator enumerateMessages(in nsMsgKey parent);
};