latest switch/say/~~
[p5sagit/p5-mst-13.2.git] / symbian / PerlUtil.h
1 /* Copyright (c) 2004-2005 Nokia. All rights reserved. */
2
3 /* The PerlUtil class is licensed under the same terms as Perl itself. */
4
5 /* See PerlUtil.pod for documentation. */
6
7 #ifndef __PerlUtil_h__
8 #define __PerlUtil_h__
9
10 #include <e32base.h>
11
12 #include "EXTERN.h"
13 #include "perl.h"
14
15 class PerlUtil {
16  public:
17
18   IMPORT_C static SV*       newSvPVfromTDesC8(const TDesC8& aDes);
19   IMPORT_C static void      setSvPVfromTDesC8(SV* sv, const TDesC8& aDes);
20   IMPORT_C static HBufC8*   newHBufC8fromSvPV(SV* sv);
21   IMPORT_C static void      setTDes8fromSvPV(TDes8& aDes8, SV* sv);
22
23   IMPORT_C static SV*       newSvPVfromTDesC16(const TDesC16& aDes);
24   IMPORT_C static void      setSvPVfromTDesC16(SV* sv, const TDesC16& aDes);
25   IMPORT_C static HBufC16*  newHBufC16fromSvPV(SV* sv);
26   IMPORT_C static void      setTDes16fromSvPV(TDes16& aDes16, SV* sv);
27
28   IMPORT_C static HBufC8*   newHBufC8fromPVn(const U8* s, STRLEN n);
29   IMPORT_C static void      setTDes8fromPVn(TDes8& aDes8, const U8* s, STRLEN n);
30   IMPORT_C static HBufC16*  newHBufC16fromPVn(const U8* s, STRLEN n, bool utf8);
31   IMPORT_C static void      setTDes16fromPVn(TDes16& aDes16, const U8* s, STRLEN n, bool utf8);
32 };
33
34 #endif /* #ifndef __PerlUtil_h__ */
35
36