gecko/widget/os2/nsOS2Uni.h

38 lines
1.1 KiB
C
Raw Normal View History

2012-05-21 04:12:37 -07:00
/* 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 _nsos2uni_h
#define _nsos2uni_h
#include <uconv.h>
#include "nsTArray.h"
#include "nsICharsetConverterManager.h"
#include "gfxCore.h"
enum ConverterRequest {
eConv_Encoder,
eConv_Decoder
};
class OS2Uni {
public:
static nsISupports* GetUconvObject(int CodePage, ConverterRequest aReq);
static void FreeUconvObjects();
private:
static nsICharsetConverterManager* gCharsetManager;
};
#define CHAR_BUFFER_SIZE 1024
typedef nsAutoTArray<char, CHAR_BUFFER_SIZE> nsAutoCharBuffer;
typedef nsAutoTArray<PRUnichar, CHAR_BUFFER_SIZE> nsAutoChar16Buffer;
nsresult WideCharToMultiByte(int aCodePage, const PRUnichar* aSrc,
int32_t aSrcLength, nsAutoCharBuffer& aResult,
int32_t& aResultLength);
nsresult MultiByteToWideChar(int aCodePage, const char* aSrc,
int32_t aSrcLength, nsAutoChar16Buffer& aResult,
int32_t& aResultLength);
#endif