Commit | Line | Data |
c8f896e5 |
1 | =head1 NAME |
2 | |
3 | PerlUtil - a C++ utility class for Perl/Symbian |
4 | |
5 | =head1 SYNOPSIS |
6 | |
7 | // in your App.mmp |
8 | USERINCLUDE \symbian\perl\x.y.z\include |
9 | LIBRARY perlXYZ.lib |
10 | |
11 | // in your App |
12 | #include "PerlUtil.h" // includes also EXTERN.h and perl.h |
13 | |
14 | // Static methods for moving between Perl strings (SvPV) |
15 | // and Symbian strings (HBufC and TDes). |
16 | |
17 | static SV* newSvPVfromTDesC8(const TDesC8& aDes); |
18 | static void setSvPVfromTDesC8(SV* sv, const TDesC8& aDes); |
19 | static HBufC8* newHBufC8fromSvPV(SV* sv); |
20 | static void setTDes8fromSvPV(TDes8* aDes8, SV* sv); |
21 | |
22 | static SV* newSvPVfromTDesC16(const TDesC16& aDes); |
23 | static void setSvPVfromTDesC16(SV* sv, const TDesC16& aDes); |
24 | static HBufC16* newHBufC16fromSvPV(SV* sv); |
25 | static void setTDes16fromSvPV(TDes16* aDes16, SV* sv); |
26 | |
27 | static HBufC8* newHBufC8fromPVn(const U8* s, STRLEN n); |
28 | static void setTDes8fromPVn(TDes8* aDes8, const U8* s, STRLEN n); |
29 | static HBufC16* newHBufC16fromPVn(const U8* s, STRLEN n, bool utf8); |
30 | static void setTDes16fromPVn(TDes16* aDes16, const U8* s, STRLEN n); |
31 | // An example |
32 | |
33 | const U8* s = (const U8 *)"foo"; |
34 | HBufC16* b = PerlUtil::newHBufC16fromPVn(s, 3, 0); |
35 | someCallWithConstTDesCRefArgument(*b); |
36 | delete b; |
37 | |
38 | =cut |
39 | |
40 | |
41 | |