| |
| %module(directors="1") director_extend |
| |
| %extend SpObject |
| { |
| virtual int dummy() // Had to remove virtual to work |
| { |
| return $self->getFooBar(); |
| } |
| }; |
| |
| %inline %{ |
| #ifndef SWIG_DIRECTORS |
| // dummy definition for non-director languages |
| namespace Swig { |
| typedef int Director; |
| } |
| #endif |
| %} |
| |
| // Some director implementations do not have Swig::director |
| #if !defined(SWIGGO) |
| %extend SpObject |
| { |
| size_t ExceptionMethod() |
| { |
| // Check positioning of director code in wrapper file |
| // Below is what we really want to test, but director exceptions vary too much across all languages |
| // throw Swig::DirectorException("DirectorException was not in scope!!"); |
| // Instead check definition of Director class as that is defined in the same place as DirectorException (director.swg) |
| size_t size = sizeof(Swig::Director); |
| return size; |
| } |
| } |
| #endif |
| |
| |
| %inline %{ |
| class SpObject |
| { |
| public: |
| SpObject() {} |
| virtual ~SpObject() {} |
| |
| int getFooBar() const { |
| return 666; |
| } |
| |
| private: |
| // Do NOT define the assignment operator |
| SpObject& operator=(const SpObject& rhs); |
| |
| // This class can not be copied. Do NOT define the copy Constructor. |
| SpObject (const SpObject& rhs); |
| }; |
| %} |
| |