Newer
Older
// Boost Includes ==============================================================
#include <boost/python.hpp>
// Includes ====================================================================
Matt Clarke
committed
#include "Algorithm.h"
#include "FrameworkManager.h"
#include "Workspace.h"
#include "LibraryManager.h"
#include "FrameworkManager.h"
// Using =======================================================================
using namespace boost::python;
// Declarations ================================================================
namespace {
struct Mantid_Kernel_Algorithm_Wrapper: Mantid::Kernel::Algorithm
{
Mantid_Kernel_Algorithm_Wrapper(PyObject* py_self_):
Mantid::Kernel::Algorithm(), py_self(py_self_) {}
const std::string& name() const {
return call_method< const std::string& >(py_self, "name");
}
const std::string& default_name() const {
return Mantid::Kernel::Algorithm::name();
}
const std::string& version() const {
return call_method< const std::string& >(py_self, "version");
}
const std::string& default_version() const {
return Mantid::Kernel::Algorithm::version();
}
Mantid::Kernel::StatusCode initialize() {
return call_method< Mantid::Kernel::StatusCode >(py_self, "initialize");
}
Mantid::Kernel::StatusCode default_initialize() {
return Mantid::Kernel::Algorithm::initialize();
}
Mantid::Kernel::StatusCode execute() {
return call_method< Mantid::Kernel::StatusCode >(py_self, "execute");
}
Mantid::Kernel::StatusCode default_execute() {
return Mantid::Kernel::Algorithm::execute();
}
Mantid::Kernel::StatusCode finalize() {
return call_method< Mantid::Kernel::StatusCode >(py_self, "finalize");
}
Mantid::Kernel::StatusCode default_finalize() {
return Mantid::Kernel::Algorithm::finalize();
}
bool isInitialized() const {
return call_method< bool >(py_self, "isInitialized");
}
bool default_isInitialized() const {
return Mantid::Kernel::Algorithm::isInitialized();
}
bool isExecuted() const {
return call_method< bool >(py_self, "isExecuted");
}
bool default_isExecuted() const {
return Mantid::Kernel::Algorithm::isExecuted();
}
bool isFinalized() const {
return call_method< bool >(py_self, "isFinalized");
}
bool default_isFinalized() const {
return Mantid::Kernel::Algorithm::isFinalized();
}
Mantid::Kernel::StatusCode setProperty(const std::string& p0) {
return call_method< Mantid::Kernel::StatusCode >(py_self, "setProperty", p0);
}
Mantid::Kernel::StatusCode default_setProperty(const std::string& p0) {
return Mantid::Kernel::Algorithm::setProperty(p0);
}
Mantid::Kernel::StatusCode setProperty(const std::string& p0, const std::string& p1) {
return call_method< Mantid::Kernel::StatusCode >(py_self, "setProperty", p0, p1);
}
Mantid::Kernel::StatusCode default_setProperty(const std::string& p0, const std::string& p1) {
return Mantid::Kernel::Algorithm::setProperty(p0, p1);
}
Mantid::Kernel::StatusCode getProperty(const std::string& p0, std::string& p1) const {
return call_method< Mantid::Kernel::StatusCode >(py_self, "getProperty", p0, p1);
}
Mantid::Kernel::StatusCode default_getProperty(const std::string& p0, std::string& p1) const {
return Mantid::Kernel::Algorithm::getProperty(p0, p1);
}
Mantid::Kernel::StatusCode init() {
return call_method< Mantid::Kernel::StatusCode >(py_self, "init");
}
Mantid::Kernel::StatusCode exec() {
return call_method< Mantid::Kernel::StatusCode >(py_self, "exec");
}
Mantid::Kernel::StatusCode final() {
return call_method< Mantid::Kernel::StatusCode >(py_self, "final");
}
PyObject* py_self;
};
struct Mantid_Kernel_Workspace_Wrapper: Mantid::Kernel::Workspace
{
const std::string id() const {
return call_method< const std::string >(py_self, "id");
}
long int getMemorySize() const {
return call_method< long int >(py_self, "getMemorySize");
}
long int default_getMemorySize() const {
return Mantid::Kernel::Workspace::getMemorySize();
}
PyObject* py_self;
};
// Module ======================================================================
#if _WIN32
BOOST_PYTHON_MODULE(MantidKernel)
{
#else
BOOST_PYTHON_MODULE(libMantidKernel)
{
#endif
class_< Mantid::Kernel::Algorithm, boost::noncopyable, Mantid_Kernel_Algorithm_Wrapper >("Algorithm", init< >())
.def("name", (const std::string& (Mantid::Kernel::Algorithm::*)() const)&Mantid::Kernel::Algorithm::name, (const std::string& (Mantid_Kernel_Algorithm_Wrapper::*)() const)&Mantid_Kernel_Algorithm_Wrapper::default_name, return_value_policy< copy_const_reference >())
.def("version", (const std::string& (Mantid::Kernel::Algorithm::*)() const)&Mantid::Kernel::Algorithm::version, (const std::string& (Mantid_Kernel_Algorithm_Wrapper::*)() const)&Mantid_Kernel_Algorithm_Wrapper::default_version, return_value_policy< copy_const_reference >())
.def("initialize", (Mantid::Kernel::StatusCode (Mantid::Kernel::Algorithm::*)() )&Mantid::Kernel::Algorithm::initialize, (Mantid::Kernel::StatusCode (Mantid_Kernel_Algorithm_Wrapper::*)())&Mantid_Kernel_Algorithm_Wrapper::default_initialize)
.def("execute", (Mantid::Kernel::StatusCode (Mantid::Kernel::Algorithm::*)() )&Mantid::Kernel::Algorithm::execute, (Mantid::Kernel::StatusCode (Mantid_Kernel_Algorithm_Wrapper::*)())&Mantid_Kernel_Algorithm_Wrapper::default_execute)
.def("finalize", (Mantid::Kernel::StatusCode (Mantid::Kernel::Algorithm::*)() )&Mantid::Kernel::Algorithm::finalize, (Mantid::Kernel::StatusCode (Mantid_Kernel_Algorithm_Wrapper::*)())&Mantid_Kernel_Algorithm_Wrapper::default_finalize)
.def("isInitialized", (bool (Mantid::Kernel::Algorithm::*)() const)&Mantid::Kernel::Algorithm::isInitialized, (bool (Mantid_Kernel_Algorithm_Wrapper::*)() const)&Mantid_Kernel_Algorithm_Wrapper::default_isInitialized)
.def("isExecuted", (bool (Mantid::Kernel::Algorithm::*)() const)&Mantid::Kernel::Algorithm::isExecuted, (bool (Mantid_Kernel_Algorithm_Wrapper::*)() const)&Mantid_Kernel_Algorithm_Wrapper::default_isExecuted)
.def("isFinalized", (bool (Mantid::Kernel::Algorithm::*)() const)&Mantid::Kernel::Algorithm::isFinalized, (bool (Mantid_Kernel_Algorithm_Wrapper::*)() const)&Mantid_Kernel_Algorithm_Wrapper::default_isFinalized)
.def("setProperty", (Mantid::Kernel::StatusCode (Mantid::Kernel::Algorithm::*)(const std::string&) )&Mantid::Kernel::Algorithm::setProperty, (Mantid::Kernel::StatusCode (Mantid_Kernel_Algorithm_Wrapper::*)(const std::string&))&Mantid_Kernel_Algorithm_Wrapper::default_setProperty)
.def("setProperty", (Mantid::Kernel::StatusCode (Mantid::Kernel::Algorithm::*)(const std::string&, const std::string&) )&Mantid::Kernel::Algorithm::setProperty, (Mantid::Kernel::StatusCode (Mantid_Kernel_Algorithm_Wrapper::*)(const std::string&, const std::string&))&Mantid_Kernel_Algorithm_Wrapper::default_setProperty)
.def("getProperty", (Mantid::Kernel::StatusCode (Mantid::Kernel::Algorithm::*)(const std::string&, std::string&) const)&Mantid::Kernel::Algorithm::getProperty, (Mantid::Kernel::StatusCode (Mantid_Kernel_Algorithm_Wrapper::*)(const std::string&, std::string&) const)&Mantid_Kernel_Algorithm_Wrapper::default_getProperty)
// .def("createSubAlgorithm", &Mantid::Kernel::Algorithm::createSubAlgorithm)
Matt Clarke
committed
// .def("subAlgorithms", (const std::vector<Mantid::Kernel::Algorithm*,std::allocator<Mantid::Kernel::Algorithm*> >& (Mantid::Kernel::Algorithm::*)() const)&Mantid::Kernel::Algorithm::subAlgorithms, return_value_policy< copy_const_reference >())
// .def("subAlgorithms", (std::vector<Mantid::Kernel::Algorithm*,std::allocator<Mantid::Kernel::Algorithm*> >& (Mantid::Kernel::Algorithm::*)() )&Mantid::Kernel::Algorithm::subAlgorithms, return_value_policy< copy_const_reference >())
;
class_< Mantid::Kernel::FrameworkManager >("FrameworkManager", init< >())
.def(init< const Mantid::Kernel::FrameworkManager& >())
.def("initialize", &Mantid::Kernel::FrameworkManager::initialize)
.def("clear", &Mantid::Kernel::FrameworkManager::clear)
.def("createAlgorithm", (Mantid::Kernel::IAlgorithm* (Mantid::Kernel::FrameworkManager::*)(const std::string&) )&Mantid::Kernel::FrameworkManager::createAlgorithm, return_value_policy< manage_new_object >())
.def("createAlgorithm", (Mantid::Kernel::IAlgorithm* (Mantid::Kernel::FrameworkManager::*)(const std::string&, const std::string&) )&Mantid::Kernel::FrameworkManager::createAlgorithm, return_value_policy< manage_new_object >())
.def("exec", &Mantid::Kernel::FrameworkManager::exec, return_value_policy< manage_new_object >())
.def("getWorkspace", &Mantid::Kernel::FrameworkManager::getWorkspace, return_value_policy< manage_new_object >())
;
class_< Mantid::Kernel::Workspace, boost::noncopyable, Mantid_Kernel_Workspace_Wrapper >("Workspace", no_init)
.def("id", pure_virtual(&Mantid::Kernel::Workspace::id))
.def("getMemorySize", &Mantid::Kernel::Workspace::getMemorySize, &Mantid_Kernel_Workspace_Wrapper::default_getMemorySize)
.def("setTitle", &Mantid::Kernel::Workspace::setTitle)
.def("setComment", &Mantid::Kernel::Workspace::setComment)
.def("getComment", &Mantid::Kernel::Workspace::getComment, return_value_policy< copy_const_reference >())
.def("getTitle", &Mantid::Kernel::Workspace::getTitle, return_value_policy< copy_const_reference >())
class_< Mantid::Kernel::LibraryManager >("LibraryManager", init< >())
.def(init< const Mantid::Kernel::LibraryManager& >())
.def("OpenLibrary", &Mantid::Kernel::LibraryManager::OpenLibrary)