/* -*- 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 "nsISimpleEnumerator.idl" #include "MailNewsTypes2.idl" 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; 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(out long index); void removeChildAt(in unsigned long index); void removeChildHdr(in nsIMsgDBHdr child, in nsIDBChangeAnnouncer announcer); void markChildRead(in boolean bRead); nsIMsgDBHdr getFirstUnreadChild(); nsISimpleEnumerator enumerateMessages(in nsMsgKey parent); };