/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * 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) 1999 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): */ #include "nsISupports.idl" #include "nsIEnumerator.idl" #include "nsIRDFDataSource.idl" #include "domstubs.idl" %{C++ #define NS_WINDOWMEDIATOR_CID \ { 0x0659cb83, 0xfaad, 0x11d2, { 0x8e, 0x19, 0xb2, 0x06, 0x62, 0x0a, 0x65, 0x7c } } %} interface nsIXULWindow; [scriptable, uuid(0659cb81-faad-11d2-8e19-b206620a657c)] interface nsIWindowMediator: nsIRDFDataSource { /* iterates over the windows of type inType in the order that they were created. if inType is null iterates over all windows. This enumerator returns domWindows. */ nsISimpleEnumerator getEnumerator( in wstring inType ); /* iterates over the XUL windows of type inType in the order that they were created. If inType is null iterates over all windows. This enumerator returns xulWindows. */ nsISimpleEnumerator getXULWindowEnumerator( in wstring inType); /* Returns the window of type inType ( if null return any window type ) which has the most recent time stamp */ nsIDOMWindow getMostRecentWindow( in wstring inType ); /* Get window given an RDF resource. */ nsIDOMWindow getWindowForResource( in wstring inResource ); /* */ nsIDOMWindow convertISupportsToDOMWindow( in nsISupports inWindow ); /* Add the webshellwindow to the list */ [noscript] void registerWindow( in nsIXULWindow inWindow); /* remove the window from the list */ [noscript] void unregisterWindow( in nsIXULWindow inWindow ); /* Call when the window gains focus. Used to determine the most recent window */ [noscript] void updateWindowTimeStamp( in nsIXULWindow inWindow ); /* */ [noscript] void updateWindowTitle(in nsIXULWindow inWindow, in wstring inTitle ); }; %{C++ extern nsresult NS_NewWindowMediatorFactory(nsIFactory** aResult); %}