bug 26237; new interfaces for language atoms
This commit is contained in:
Родитель
1c0f2e98fd
Коммит
e6a00f46d0
|
@ -0,0 +1,47 @@
|
|||
/* -*- Mode: IDL; 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 Mozilla Communicator.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corp. Portions created by Netscape are Copyright (C) 2000 Netscape
|
||||
* Communications Corp. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Erik van der Poel
|
||||
*/
|
||||
|
||||
#include "nsISupports.idl"
|
||||
#include "nsIAtom.idl"
|
||||
|
||||
/*
|
||||
* The nsILanguageAtom interface encapsulates a language code (as used in
|
||||
* HTML LANG attributes, for example). This interface also provides access
|
||||
* to the corresponding "language group" atom, to be used in the font
|
||||
* engine with preferences, for example.
|
||||
*
|
||||
* The nsILanguageAtom interface is similar to nsIAtom, in the sense that
|
||||
* one can compare 2 pointers for equality. The nsILanguageAtomService
|
||||
* creates nsILanguageAtoms by first lower-casing the language (since it's
|
||||
* case-insensitive according to RFC 1766), and then looking up that
|
||||
* language in a set of existing nsILanguageAtom objects. If it already
|
||||
* exists, that object is returned. If not, a new one is created and added
|
||||
* to the set for future retrieval.
|
||||
*/
|
||||
[scriptable, uuid(a6cf911e-15b3-11d2-932e-00805f8add32)]
|
||||
interface nsILanguageAtom : nsISupports
|
||||
{
|
||||
readonly attribute wstring language;
|
||||
readonly attribute nsIAtom languageGroup;
|
||||
|
||||
boolean LanguageIs(in wstring aLanguage);
|
||||
};
|
|
@ -0,0 +1,47 @@
|
|||
/* -*- Mode: IDL; 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 Mozilla Communicator.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corp. Portions created by Netscape are Copyright (C) 2000 Netscape
|
||||
* Communications Corp. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Erik van der Poel
|
||||
*/
|
||||
|
||||
#include "nsISupports.idl"
|
||||
#include "nsILanguageAtom.idl"
|
||||
|
||||
/*
|
||||
* The nsILanguageAtomService creates nsILanguageAtoms based on a given
|
||||
* language or charset. See the nsILanguageAtom documentation for further
|
||||
* info. When a charset is looked up, the resulting nsILanguageAtom does
|
||||
* not contain a language (since the language cannot be known in the general
|
||||
* case), but the language group is set appropriately.
|
||||
*/
|
||||
[scriptable, uuid(a6cf911f-15b3-11d2-932e-00805f8add32)]
|
||||
interface nsILanguageAtomService : nsISupports
|
||||
{
|
||||
nsILanguageAtom LookupLanguage(in wstring aLanguage);
|
||||
nsILanguageAtom LookupCharSet(in wstring aCharSet);
|
||||
};
|
||||
|
||||
%{C++
|
||||
|
||||
#define NS_LANGUAGEATOMSERVICE_CID \
|
||||
{0xa6cf9120, 0x15b3, 0x11d2, {0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32}}
|
||||
#define NS_LANGUAGEATOMSERVICE_PROGID \
|
||||
"component://netscape/intl/nslanguageatomservice"
|
||||
|
||||
%}
|
Загрузка…
Ссылка в новой задаче