This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Eliminate pre-5.9.x conditional code for PERL_PACK_CAN_BYTEORDER
[perl5.git] / symbian / PerlUtil.pod
CommitLineData
c8f896e5
JH
1=head1 NAME
2
3PerlUtil - 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