add some director tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9071 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
d25519b86a
commit
468ad3c74b
1 changed files with 28 additions and 2 deletions
|
|
@ -1,22 +1,48 @@
|
|||
/* 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 * {SCharPtr};
|
||||
%apply const char * {CUCharPtr};
|
||||
%apply const char * {CSCharPtr};
|
||||
|
||||
%inline %{
|
||||
typedef unsigned char* UCharPtr;
|
||||
typedef signed char* SCharPtr;
|
||||
typedef const unsigned char* CUCharPtr;
|
||||
typedef const signed char* CSCharPtr;
|
||||
|
||||
UCharPtr UCharFunction(UCharPtr 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};
|
||||
|
||||
%inline %{
|
||||
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