/* ----------------------------------------------------------------------------- * director.swg * * This file contains support for director classes so that C# proxy * methods can be called from C++. * ----------------------------------------------------------------------------- */ #ifdef __cplusplus #if defined(DEBUG_DIRECTOR_OWNED) #include <iostream> #endif #include <string> namespace Swig { /* Director base class - not currently used in C# directors */ class Director { }; /* Base class for director exceptions */ class DirectorException { protected: std::string swig_msg; public: DirectorException(const char* msg) : swig_msg(msg) { } DirectorException(const std::string &msg) : swig_msg(msg) { } const std::string& what() const { return swig_msg; } virtual ~DirectorException() { } }; /* Pure virtual method exception */ class DirectorPureVirtualException : public Swig::DirectorException { public: DirectorPureVirtualException(const char* msg) : DirectorException(std::string("Attempt to invoke pure virtual method ") + msg) { } }; } #endif /* __cplusplus */