add some director tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9071 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
55290cfeb5
commit
279914232c
1 changed files with 28 additions and 2 deletions
|
|
@ -1,22 +1,48 @@
|
||||||
/* Test %apply for char *, signed char *, unsigned char * */
|
/* Test %apply for char *, signed char *, unsigned char * */
|
||||||
|
|
||||||
%module apply_strings
|
%module(directors="1") apply_strings
|
||||||
|
|
||||||
|
%warnfilter(SWIGWARN_TYPEMAP_THREAD_UNSAFE,SWIGWARN_TYPEMAP_DIRECTOROUT_PTR) DirectorTest;
|
||||||
|
|
||||||
%apply char * {UCharPtr};
|
%apply char * {UCharPtr};
|
||||||
%apply char * {SCharPtr};
|
%apply char * {SCharPtr};
|
||||||
|
%apply const char * {CUCharPtr};
|
||||||
|
%apply const char * {CSCharPtr};
|
||||||
|
|
||||||
%inline %{
|
%inline %{
|
||||||
typedef unsigned char* UCharPtr;
|
typedef unsigned char* UCharPtr;
|
||||||
typedef signed char* SCharPtr;
|
typedef signed char* SCharPtr;
|
||||||
|
typedef const unsigned char* CUCharPtr;
|
||||||
|
typedef const signed char* CSCharPtr;
|
||||||
|
|
||||||
UCharPtr UCharFunction(UCharPtr str) { return str; }
|
UCharPtr UCharFunction(UCharPtr str) { return str; }
|
||||||
SCharPtr SCharFunction(SCharPtr str) { return str; }
|
SCharPtr SCharFunction(SCharPtr str) { return str; }
|
||||||
|
CUCharPtr CUCharFunction(CUCharPtr str) { return str; }
|
||||||
|
CSCharPtr CSCharFunction(CSCharPtr str) { return str; }
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
%typemap(freearg) SWIGTYPE * ""
|
||||||
%apply SWIGTYPE* {CharPtr};
|
%apply SWIGTYPE* {CharPtr};
|
||||||
|
|
||||||
%inline %{
|
%inline %{
|
||||||
typedef char* CharPtr;
|
typedef char* CharPtr;
|
||||||
|
typedef const char* CCharPtr;
|
||||||
|
|
||||||
CharPtr CharFunction(CharPtr buf) { return buf; }
|
CharPtr CharFunction(CharPtr buffer) { return buffer; }
|
||||||
|
CCharPtr CCharFunction(CCharPtr buffer) { return buffer; }
|
||||||
|
%}
|
||||||
|
|
||||||
|
// Director test
|
||||||
|
%feature("director");
|
||||||
|
|
||||||
|
%inline %{
|
||||||
|
struct DirectorTest {
|
||||||
|
virtual UCharPtr UCharFunction(UCharPtr str) { return str; }
|
||||||
|
virtual SCharPtr SCharFunction(SCharPtr str) { return str; }
|
||||||
|
virtual CUCharPtr CUCharFunction(CUCharPtr str) { return str; }
|
||||||
|
virtual CSCharPtr CSCharFunction(CSCharPtr str) { return str; }
|
||||||
|
virtual CharPtr CharFunction(CharPtr buffer) { return buffer; }
|
||||||
|
virtual CCharPtr CCharFunction(CCharPtr buffer) { return buffer; }
|
||||||
|
virtual ~DirectorTest() {}
|
||||||
|
};
|
||||||
%}
|
%}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue