Program: bbtk
Module: $RCSfile: bbtkConnection.cxx,v $
Language: C++
- Date: $Date: 2008/12/11 09:50:35 $
- Version: $Revision: 1.19 $
+ Date: $Date: 2009/03/30 14:42:16 $
+ Version: $Revision: 1.20 $
=========================================================================*/
/* ---------------------------------------------------------------------
{
if ( from->bbGetOutputType(output) == typeid(Data) )
{
- bbtkWarning("Connection '"
- <<GetFullName()
- <<"' : '"<<from->bbGetName()<<"."<<output
+ bbtkWarning("Connection: '"<<from->bbGetName()<<"."<<output
<<"' is of type <"
<<HumanTypeName<Data>()
<<"> : type compatibility with '"
"===> Connection::RecursiveExecute() ["
<<GetFullName()<<"]"<<std::endl);
+ /*
+ // If box from already executing : nothing to do
+ if (mFrom->bbGetExecuting())
+ {
+ bbtkDebugMessage("process",3,
+ " -> "<<mFrom->bbGetName()
+ <<" already executing : abort"<<std::endl);
+ return;
+
+ }
+ */
+
mFrom->bbRecursiveExecute(GetThisPointer<Connection>());
TransferData();
<<HumanTypeName(mTo->bbGetInputType(mInput))
<<">"<<std::endl);
+ // 0) If from any contents void : nothing to do
+ if (mFrom->bbGetOutput(mOutput).type() == typeid(void))
+ {
+ bbtkDebugMessage("data",3,
+ " -> Source is void : nothing to transfer!"<<std::endl);
+ }
// 1) Test strict type matching between any content and target
- if (mFrom->bbGetOutput(mOutput)
+ else if (mFrom->bbGetOutput(mOutput)
.contains( mTo->bbGetInputType(mInput) ) )
{
bbtkDebugMessage("data",3,