git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9092 626c5289-ae23-0410-ae9c-e8d60b6d4f22
49 lines
1.5 KiB
OpenEdge ABL
49 lines
1.5 KiB
OpenEdge ABL
/* Test %apply for char *, signed char *, unsigned char * */
|
|
|
|
%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};
|
|
%apply SWIGTYPE* {CCharPtr};
|
|
|
|
%inline %{
|
|
typedef char* CharPtr;
|
|
typedef const char* CCharPtr;
|
|
|
|
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() {}
|
|
};
|
|
%}
|