]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/Workspace.h
...
[cpPlugins.git] / lib / cpPlugins / Interface / Workspace.h
index 9a79d29ae15a3023b9b84eb26666cb7ce6c8c475..c11d1554b5071939cf37dd2fcac61b522483f579 100644 (file)
@@ -28,7 +28,9 @@ namespace cpPlugins
       typedef TFilter::TParameters                TParameters;
 
       // Various types
-      typedef std::set< std::string > TStringContainer;
+      typedef std::set< std::string >               TStringContainer;
+      typedef std::pair< std::string, std::string > TGlobalPort;
+      typedef std::map< std::string, TGlobalPort >  TGlobalPorts;
 
       // Graph type
       typedef std::pair< std::string, std::string > TConnection;
@@ -58,6 +60,7 @@ namespace cpPlugins
         const std::string& output_name,
         const std::string& input_name
         );
+      bool Connect( const std::string& i, const std::string& o );
       TParameters* GetParameters( const std::string& name );
       const TParameters* GetParameters( const std::string& name ) const;
       TFilter* GetFilter( const std::string& name );
@@ -66,6 +69,16 @@ namespace cpPlugins
 
       // Graph reduction
       bool Reduce( const std::string& name );
+      void AddInputPort(
+        const std::string& name,
+        const std::string& filter, const std::string& filter_input
+        );
+      void AddOutputPort(
+        const std::string& name,
+        const std::string& filter, const std::string& filter_output
+        );
+      void ClearInputPorts( );
+      void ClearOutputPorts( );
 
       // Pipeline execution
       std::string Execute( );
@@ -80,6 +93,8 @@ namespace cpPlugins
 
       // Processing graph
       typename TGraph::Pointer m_Graph;
+      TGlobalPorts m_InputPorts;
+      TGlobalPorts m_OutputPorts;
     };
 
   } // ecapseman