]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/Interface.h
...
[cpPlugins.git] / lib / cpPlugins / Interface / Interface.h
index 1db73b95dd54af33348eb3999668ba51f2711946..555bbae0648c411586736512bd2c2afe4df27b92 100644 (file)
@@ -6,7 +6,9 @@
 #include <vector>
 #include <Pluma/Pluma.hpp>
 
+#include <cpPlugins/cpPlugins_Export.h>
 #include <cpPlugins/Interface/Object.h>
+#include <cpPlugins/Interface/ProcessObject.h>
 
 namespace cpPlugins
 {
@@ -14,7 +16,7 @@ namespace cpPlugins
   {
     /**
      */
-    class Interface
+    class cpPlugins_EXPORT Interface
     {
     public:
       typedef std::vector< ObjectProvider* >        TProviders;
@@ -27,12 +29,15 @@ namespace cpPlugins
       Interface( );
       virtual ~Interface( );
 
-      /// Plugin access
+      // Plugin access
       TClasses& GetClasses( );
       const TClasses& GetClasses( ) const;
-      Object* CreateObject( const std::string& name ) const;
+      Object::Pointer CreateObject( const std::string& name ) const;
+      ProcessObject::Pointer CreateProcessObject(
+        const std::string& name
+        ) const;
 
-      /// Interface to PLUMA
+      // Interface to PLUMA
       bool Load( const std::string& path );
       bool Load( const std::string& folder, const std::string& name );
       int LoadFromFolder( const std::string& folder, bool r = false );