1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef nsCaseConversionImp2_h__
7 #define nsCaseConversionImp2_h__
10 #include "nsISupports.h"
12 #include "nsICaseConversion.h"
14 class nsCaseConversionImp2
: public nsICaseConversion
{
15 NS_DECL_THREADSAFE_ISUPPORTS
18 virtual ~nsCaseConversionImp2() { }
20 static nsCaseConversionImp2
* GetInstance();
22 NS_IMETHOD
ToUpper(char16_t aChar
, char16_t
* aReturn
);
24 NS_IMETHOD
ToLower(char16_t aChar
, char16_t
* aReturn
);
26 NS_IMETHOD
ToTitle(char16_t aChar
, char16_t
* aReturn
);
28 NS_IMETHOD
ToUpper(const char16_t
* anArray
, char16_t
* aReturn
, uint32_t aLen
);
30 NS_IMETHOD
ToLower(const char16_t
* anArray
, char16_t
* aReturn
, uint32_t aLen
);
32 NS_IMETHOD
CaseInsensitiveCompare(const char16_t
* aLeft
, const char16_t
* aRight
, uint32_t aLength
, int32_t *aResult
);