1/*
2 * Copyright 2009, Adrien Destugues, pulkomandy@gmail.com.
3 * Distributed under the terms of the MIT License.
4 */
5/* This file holds various wrapper functions to interface easily between ICU
6 * and the Be API.
7 */
8#ifndef __ICU_WRAPPER_H__
9#define __ICU_WRAPPER_H__
10
11
12#include <String.h>
13
14#include <unicode/bytestream.h>
15#include <String.h>
16
17
18/* Convert UnicodeString to BString needs an ICU ByteSink to do the work */
19class BStringByteSink : public U_NAMESPACE_QUALIFIER ByteSink {
20public:
21	BStringByteSink(BString* dest)
22		: fDest(dest)
23		{}
24	virtual void Append(const char* data, int32_t n)
25		{ fDest->Append(data, n); }
26
27	void SetTo(BString* dest)
28		{ fDest = dest; }
29
30private:
31	BString* fDest;
32
33	BStringByteSink();
34	BStringByteSink(const BStringByteSink&);
35	BStringByteSink& operator=(const BStringByteSink&);
36};
37
38
39#endif
40