/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): */ #include "nsICollection.idl" #include "nsIFolderListener.idl" interface nsISupportsArray; [scriptable, uuid(75621650-0fce-11d3-8b49-006008948010)] interface nsIFolder : nsICollection { readonly attribute string URI; attribute wstring name; attribute wstring prettyName; readonly attribute wstring abbreviatedName; nsISupports GetChildNamed(in string name); attribute nsIFolder parent; nsIEnumerator GetSubFolders(); readonly attribute boolean hasSubFolders; void AddFolderListener(in nsIFolderListener listener); void RemoveFolderListener(in nsIFolderListener listener); nsIFolder FindSubFolder(in string subFolderName); void NotifyPropertyChanged(in nsIAtom property, in string oldValue, in string newValue); void NotifyIntPropertyChanged(in nsIAtom property, in long oldValue, in long newValue); void NotifyBoolPropertyChanged(in nsIAtom property, in boolean oldValue, in boolean newValue); void NotifyPropertyFlagChanged(in nsISupports item, in nsIAtom property, in unsigned long oldValue, in unsigned long newValue); void NotifyUnicharPropertyChanged(in nsIAtom property, in wstring oldValue, in wstring newValue); void NotifyItemAdded(in nsISupports parentItem, in nsISupports item, in string viewString); void NotifyItemDeleted(in nsISupports parentItem, in nsISupports item, in string viewString); void NotifyFolderEvent(in nsIAtom event); // void NotifyFolderLoaded(); // void NotifyDeleteOrMoveMessagesCompleted(in nsIFolder folder); // lists all descendents, not just first level children void ListDescendents(in nsISupportsArray descendents); void Shutdown(in boolean shutdownChildren); };