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