summaryrefslogtreecommitdiffstats
path: root/python/astra/plugin_c.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'python/astra/plugin_c.pyx')
-rw-r--r--python/astra/plugin_c.pyx14
1 files changed, 11 insertions, 3 deletions
diff --git a/python/astra/plugin_c.pyx b/python/astra/plugin_c.pyx
index 91b3cd5..8d6816b 100644
--- a/python/astra/plugin_c.pyx
+++ b/python/astra/plugin_c.pyx
@@ -38,7 +38,9 @@ from . import utils
cdef extern from "astra/PluginAlgorithm.h" namespace "astra":
cdef cppclass CPluginAlgorithmFactory:
+ bool registerPlugin(string className)
bool registerPlugin(string name, string className)
+ bool registerPluginClass(object className)
bool registerPluginClass(string name, object className)
object getRegistered()
string getHelp(string name)
@@ -46,11 +48,17 @@ cdef extern from "astra/PluginAlgorithm.h" namespace "astra":
cdef extern from "astra/PluginAlgorithm.h" namespace "astra::CPluginAlgorithmFactory":
cdef CPluginAlgorithmFactory* getSingletonPtr()
-def register(name, className):
+def register(className, name=None):
if inspect.isclass(className):
- fact.registerPluginClass(six.b(name), className)
+ if name==None:
+ fact.registerPluginClass(className)
+ else:
+ fact.registerPluginClass(six.b(name), className)
else:
- fact.registerPlugin(six.b(name), six.b(className))
+ if name==None:
+ fact.registerPlugin(six.b(className))
+ else:
+ fact.registerPlugin(six.b(name), six.b(className))
def get_registered():
return fact.getRegistered()