intl/unicharutil/src/nsCaseConversionImp2.h
author Wes Kocher <wkocher@mozilla.com>
Wed, 29 Jan 2014 15:30:42 -0800
changeset 176108 095aa30cb6ef6a6772808db30e4ec3685a2d7d76
parent 152779 c00e38f175be47ca1441e2ea5e46ad4114e4f66a
child 179103 5a9badd6db004310b9d1aca5db25ef4c275a4362
permissions -rw-r--r--
Backed out changeset 82bc631a9e53 (bug 950240) a=backout CLOSED TREE

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef nsCaseConversionImp2_h__
#define nsCaseConversionImp2_h__

#include "nscore.h"
#include "nsISupports.h"

#include "nsICaseConversion.h"

class nsCaseConversionImp2 : public nsICaseConversion { 
  NS_DECL_THREADSAFE_ISUPPORTS 

public:
  virtual ~nsCaseConversionImp2() { }

  static nsCaseConversionImp2* GetInstance();

  NS_IMETHOD ToUpper(PRUnichar aChar, PRUnichar* aReturn);

  NS_IMETHOD ToLower(PRUnichar aChar, PRUnichar* aReturn);

  NS_IMETHOD ToTitle(PRUnichar aChar, PRUnichar* aReturn);

  NS_IMETHOD ToUpper(const PRUnichar* anArray, PRUnichar* aReturn, uint32_t aLen);

  NS_IMETHOD ToLower(const PRUnichar* anArray, PRUnichar* aReturn, uint32_t aLen);

  NS_IMETHOD CaseInsensitiveCompare(const PRUnichar* aLeft, const PRUnichar* aRight, uint32_t aLength, int32_t *aResult);
};

#endif