Initial versions based on feedback of initial prefservice and prefbranch feedback.

[Not Part of the Build]


git-svn-id: svn://10.0.0.236/trunk@90712 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bnesse%netscape.com 2001-03-29 00:46:49 +00:00
parent 6ce71820d4
commit f8717db4e1
3 changed files with 144 additions and 0 deletions

View File

@ -0,0 +1,43 @@
/* -*- 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 Communicator client 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):
* Alec Flett <alecf@netscape.com>
* Brian Nesse <bnesse@netscape.com>
*/
#include "nsIPrefBranch.idl"
#include "nsIObserver.idl"
[scriptable, uuid(24ef9578-1dd2-11b2-b439-fcc3d2b4fa20)]
interface nsIPrefBranchInternal : nsIPrefBranch
{
/*
* Listeners
*/
/*
* The observers have their |Observe| methods called with
* ([the observer], "nsPref:changed", [pref name]).
*/
void addObserver(in string aDomain, in nsIObserver aObserver);
void removeObserver(in string aDomain, in nsIObserver aObserver);
};

View File

@ -0,0 +1,49 @@
/* -*- 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 Communicator client 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):
* Alec Flett <alecf@netscape.com>
* Brian Nesse <bnesse@netscape.com>
*/
#include "nsISupports.idl"
/*
* nsIPrefLocalizedString is simply a wrapper for nsISupportsWString so we can have a unique
* identifier to distinguish between requests for normal wstrings and localized wstrings
*/
[scriptable, uuid(ae419e24-1dd1-11b2-b39a-d3e5e7073802)]
interface nsIPrefLocalizedString : nsISupports
{
attribute wstring data;
wstring toString();
// do not include space for null termination in |length|. It is handled
// internally. |length| is in characters, not in bytes.
void setDataWithLength(in unsigned long length,
[size_is(length)] in wstring data);
};
%{C++
#define NS_SUPPORTS_PREFLOCALIZEDSTRING_CONTRACTID "@mozilla.org/supports-preflocalizedstring;1"
#define NS_SUPPORTS_PREFLOCALIZEDSTRING_CLASSNAME "Supports PrefLocalizedString"
%}

View File

@ -0,0 +1,52 @@
/* -*- Mode: C++; 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 Communicator client 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):
* Brian Nesse <bnesse@netscape.com>
*/
#include "nsIGenericFactory.h"
#include "nsPrefService.h"
#include "nsIPref.h"
// remove this when nsPref goes away
extern "C" nsresult nsPrefConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult);
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrefService, Init)
// The list of components we register
static nsModuleComponentInfo components[] =
{
{
NS_PREFSERVICE_CLASSNAME,
NS_PREFSERVICE_CID,
NS_PREFSERVICE_CONTRACTID,
nsPrefServiceConstructor
},
{ // remove this when nsPref goes away
NS_PREF_CLASSNAME,
NS_PREF_CID,
NS_PREF_CONTRACTID,
nsPrefConstructor
},
};
NS_IMPL_NSGETMODULE("nsPrefModule", components);