gecko-dev/rdf/chrome/public/nsIChromeRegistry.idl
hyatt%netscape.com d87c5f540d Checking in an API and implementation for the enumeration of the user's search path,
as well as for the enumeration of all installed objects in the chrome registry.
2000-02-15 10:05:29 +00:00

91 lines
2.7 KiB
Plaintext

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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 the Mozilla browser.
*
* 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): hyatt and pav :)
*/
#include "nsISupports.idl"
#include "nsIURL.idl"
#include "nsIEnumerator.idl"
#include "nsISupportsArray.idl"
[scriptable, uuid(D8C7D8A1-E84C-11d2-BF87-00105A1B0627)]
interface nsIChromeRegistry : nsISupports
{
/**
* Convert a chrome URL into a canonical representation; specifically,
*
* chrome://package/provider/file
*
* Chrome URLs are allowed to be specified in "shorthand", leaving the
* "file" portion off. In that case, the URL is expanded to:
*
* chrome://package/provider/package.ext
*
* where "ext" is:
*
* "xul" for a "content" package,
* "css" for a "skin" package, and
* "dtd" for a "locale" package.
*
* @param aChromeURL the URL that is to be canonified.
*/
void canonify(in nsIURI aChromeURL);
/**
* Convert a chrome URL to a "real" using the information in the registry.
*
* @param aChromeURL the URL that is to be converted.
*/
void convertChromeURL(in nsIURI aChromeURL);
nsISimpleEnumerator getOverlays(in nsIURI aChromeURL);
void reloadChrome();
void refreshSkins();
void applyTheme(in wstring themeName);
void setSkin(in wstring skinName, in wstring packageName);
void setLocale(in wstring localeName, in wstring packageName);
void setDefaultSkin(in wstring skinName, in wstring packageName);
void setDefaultLocale(in wstring localeName, in wstring packageName);
nsISimpleEnumerator getInstalledSkins();
nsISimpleEnumerator getInstalledPackages();
nsISimpleEnumerator getInstalledLocales();
nsISimpleEnumerator getSelectedSkins();
nsISimpleEnumerator getSelectedPackages();
nsISimpleEnumerator getSelectedLocales();
};
%{ C++
// for component registration
// {D8C7D8A2-E84C-11d2-BF87-00105A1B0627}
#define NS_CHROMEREGISTRY_CID \
{ 0xd8c7d8a2, 0xe84c, 0x11d2, { 0xbf, 0x87, 0x0, 0x10, 0x5a, 0x1b, 0x6, 0x27 } }
extern nsresult
NS_NewChromeRegistry(nsIChromeRegistry* *aResult);
%}