+// -------------------------------------------------------------------------
+cpPlugins::Interface::
+OutputProcessObjectPort& cpPlugins::Interface::ProcessObject::
+GetOutput( const std::string& id )
+{
+ static OutputProcessObjectPort null_port;
+ auto i = this->m_Outputs.find( id );
+ if( i == this->m_Outputs.end( ) )
+ {
+ null_port = NULL;
+ return( null_port );
+ }
+ else
+ return( i->second );
+}
+
+// -------------------------------------------------------------------------
+const cpPlugins::Interface::
+OutputProcessObjectPort& cpPlugins::Interface::ProcessObject::
+GetOutput( const std::string& id ) const
+{
+ static const OutputProcessObjectPort null_port;
+ auto i = this->m_Outputs.find( id );
+ if( i == this->m_Outputs.end( ) )
+ return( null_port );
+ else
+ return( i->second );
+}
+
+// -------------------------------------------------------------------------
+bool cpPlugins::Interface::ProcessObject::
+SetInput( const std::string& id, const OutputProcessObjectPort& port )
+{
+ auto i = this->m_Inputs.find( id );
+ if( i != this->m_Inputs.end( ) )
+ {
+ if( i->second.GetPointer( ) != port.GetPointer( ) )
+ {
+ i->second = port;
+ this->Modified( );
+
+ } // fi
+ return( true );
+ }
+ else
+ return( false );
+}
+