/trunk/Examples/test-suite/director_frob.i
Swig | 106 lines | 88 code | 18 blank | 0 comment | 0 complexity | c3c5e954e86927fda02e64fa3ec3763f MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %module(directors="1") director_frob;
- #pragma SWIG nowarn=SWIGWARN_TYPEMAP_THREAD_UNSAFE,SWIGWARN_TYPEMAP_DIRECTOROUT_PTR
- %header %{
- #include <iostream>
- %}
- %feature("director");
- %feature("nodirector") Bravo::abs_method(); // ok
- %feature("director") Charlie::abs_method(); // ok
- %feature("nodirector") Delta::abs_method(); // ok
- %inline %{
- struct Alpha
- {
- virtual ~Alpha() { };
- virtual const char* abs_method() = 0;
- };
-
- struct Bravo : Alpha
- {
- const char* abs_method()
- {
- return "Bravo::abs_method()";
- }
- };
- struct Charlie : Bravo
- {
- const char* abs_method()
- {
- return "Charlie::abs_method()";
- }
- };
-
- struct Delta : Charlie
- {
- };
- %}
- %rename(OpInt) operator int();
- %rename(OpIntStarStarConst) operator int **() const;
- %rename(OpIntAmp) operator int &();
- %rename(OpIntStar) operator void *();
- %rename(OpConstIntIntStar) operator const int *();
- %inline %{
- class Ops {
- public:
- Ops() : num(0) {}
- virtual ~Ops() {}
- virtual operator int() { return 0; }
- virtual operator int **() const {
- return (int **) 0;
- }
- virtual operator int &() {
- return num;
- }
- virtual operator void *() {
- return (void *) this;
- }
- virtual operator const int *() {
- return #
- }
- private:
- int num;
- };
- struct Prims {
- virtual ~Prims() {}
- virtual unsigned long long ull(unsigned long long i, unsigned long long j) { return i + j; }
- unsigned long long callull(int i, int j) { return ull(i, j); }
- };
- %}
- // The similarity of the director class name and other symbol names were causing a problem in the code generation
- %feature("director") coreCallbacks;
- %inline %{
- class corePoint3d {};
- struct coreCallbacks_On3dEngineRedrawnData
- {
- corePoint3d _eye;
- corePoint3d _at;
- };
- struct coreCallbacksOn3dEngineRedrawnData
- {
- corePoint3d _eye;
- corePoint3d _at;
- };
- class coreCallbacks
- {
- public:
- coreCallbacks(void) {}
- virtual ~coreCallbacks(void) {}
- virtual void On3dEngineRedrawn(const coreCallbacks_On3dEngineRedrawnData& data){}
- virtual void On3dEngineRedrawn2(const coreCallbacksOn3dEngineRedrawnData& data){}
- };
- %}