diff options
| author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-01-20 18:08:59 +0100 | 
|---|---|---|
| committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-01-21 14:30:46 +0100 | 
| commit | 56809b0359af7e9108adeb1fd21823a225edf6fa (patch) | |
| tree | 002a12b986b8d943556c42570fcda216e73ad79d /matlab | |
| parent | cd12edcd3ada212f27088a4e26e3eee5f89bcbad (diff) | |
| download | astra-56809b0359af7e9108adeb1fd21823a225edf6fa.tar.gz astra-56809b0359af7e9108adeb1fd21823a225edf6fa.tar.bz2 astra-56809b0359af7e9108adeb1fd21823a225edf6fa.tar.xz astra-56809b0359af7e9108adeb1fd21823a225edf6fa.zip | |
Remove dependency of libastra on libpython by refactoring PluginAlgorithm
Diffstat (limited to 'matlab')
| -rw-r--r-- | matlab/mex/astra_mex_plugin_c.cpp | 18 | 
1 files changed, 15 insertions, 3 deletions
| diff --git a/matlab/mex/astra_mex_plugin_c.cpp b/matlab/mex/astra_mex_plugin_c.cpp index 177fcf4..0dc0edf 100644 --- a/matlab/mex/astra_mex_plugin_c.cpp +++ b/matlab/mex/astra_mex_plugin_c.cpp @@ -48,7 +48,11 @@ using namespace astra;   */  void astra_mex_plugin_get_registered(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])  { -    astra::CPluginAlgorithmFactory *fact = astra::CPluginAlgorithmFactory::getSingletonPtr(); +    astra::CPluginAlgorithmFactory *fact = astra::CPluginAlgorithmFactory::getFactory(); +    if (!fact) { +        mexPrintf("Plugin support not initialized."); +        return; +    }      std::map<std::string, std::string> mp = fact->getRegisteredMap();      for(std::map<std::string,std::string>::iterator it=mp.begin();it!=mp.end();it++){          mexPrintf("%s: %s\n",it->first.c_str(), it->second.c_str()); @@ -62,9 +66,13 @@ void astra_mex_plugin_get_registered(int nlhs, mxArray* plhs[], int nrhs, const   */  void astra_mex_plugin_register(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])  { +    astra::CPluginAlgorithmFactory *fact = astra::CPluginAlgorithmFactory::getFactory(); +    if (!fact) { +        mexPrintf("Plugin support not initialized."); +        return; +    }      if (2 <= nrhs) {          string class_name = mexToString(prhs[1]); -        astra::CPluginAlgorithmFactory *fact = astra::CPluginAlgorithmFactory::getSingletonPtr();          fact->registerPlugin(class_name);      }else{          mexPrintf("astra_mex_plugin('register', class_name);\n"); @@ -78,9 +86,13 @@ void astra_mex_plugin_register(int nlhs, mxArray* plhs[], int nrhs, const mxArra   */  void astra_mex_plugin_get_help(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])  { +    astra::CPluginAlgorithmFactory *fact = astra::CPluginAlgorithmFactory::getFactory(); +    if (!fact) { +        mexPrintf("Plugin support not initialized."); +        return; +    }      if (2 <= nrhs) {          string name = mexToString(prhs[1]); -        astra::CPluginAlgorithmFactory *fact = astra::CPluginAlgorithmFactory::getSingletonPtr();          mexPrintf((fact->getHelp(name)+"\n").c_str());      }else{          mexPrintf("astra_mex_plugin('get_help', name);\n"); | 
