X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkConnection.cxx;h=9b1d3eb11ab306beccedb3b82cdb696bad350716;hb=ca57bbfa3922d84e77fc9dd2d5e731f6f0fe0c9c;hp=bc6b3b1c001561de5335fb3311f7d027118dea5f;hpb=bfd7e9034cbfd9c535e98ccb302c08e5e42da8c6;p=bbtk.git diff --git a/kernel/src/bbtkConnection.cxx b/kernel/src/bbtkConnection.cxx index bc6b3b1..9b1d3eb 100644 --- a/kernel/src/bbtkConnection.cxx +++ b/kernel/src/bbtkConnection.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkConnection.cxx,v $ Language: C++ - Date: $Date: 2008/12/11 09:50:35 $ - Version: $Revision: 1.19 $ + Date: $Date: 2009/05/28 08:12:05 $ + Version: $Revision: 1.21 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -39,6 +39,11 @@ #include "bbtkMessageManager.h" #include "bbtkBlackBoxOutputConnector.h" +#define bbtkCMessage(key,level,mess) \ + bbtkMessage(key,level,"["< Connection::Connection(\"" + bbtkDebugMessage("object",1,"##> Connection(\"" <bbGetName()<<"\",\""<bbGetName()<<"\",\""<bbGetName()<<"\",\""<bbGetName()<<"\",\""< Connection::Connection(\"" + bbtkDebugMessage("object",2,"==> Connection(\"" <bbGetName()<<"\",\""<bbGetName()<<"\",\""< Connection::Connection(\"" - <bbGetFullName()<<"\",\""<bbGetFullName()<<"\",\""< Connection(\"" + <bbGetName()<<"\",\""<bbGetName()<<"\",\""<bbGetOutputType(output) == typeid(Data) ) { - bbtkWarning("Connection '" - <bbGetName()<<"."<bbGetName()<<"."<() <<"> : type compatibility with '" @@ -129,7 +132,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output, } else if ( to->bbGetInputType(input) == typeid(Data) ) { - bbtkDebugMessage("Kernel",8," -> '"< '"<()<<" : can receive any data" <bbGetOutputConnector(output).AddChangeObserver(boost::bind(&bbtk::Connection::OnOutputChange,this, _1, _2, _3)); - bbtkDebugMessage("connection",1,"<== Connection::Connection(\"" - <bbGetFullName()<<"\",\""<bbGetFullName()<<"\",\""<bbGetName()<<"\",\""<bbGetName()<<"\",\""< Connection::Connection(\"" + bbtkDebugMessage("object",2,"<== Connection(\"" <bbGetName()<<"\",\""<bbGetName()<<"\",\""< Connection::Connection(\"" + bbtkDebugMessage("object",1,"##> Connection(\"" <bbGetName()<<"\",\""<bbGetName()<<"\",\""<bbGetName()<<"\",\""<bbGetName()<<"\",\""< Connection::Connection(\"" + bbtkDebugMessage("object",2,"==> Connection(\"" <bbGetName()<<"\",\""<bbGetName()<<"\",\""< Connection::Connection(\"" - <bbGetFullName()<<"\",\""<bbGetFullName()<<"\",\""< Connection(\"" + <bbGetName()<<"\",\""<bbGetName()<<"\",\""<bbGetInputType(input) == typeid(Data) ) { - bbtkDebugMessage("Kernel",8," -> '"< '"<()<<" : can receive any data" <bbGetOutputConnector(output).AddChangeObserver(boost::bind(&bbtk::Connection::OnOutputChange,this, _1, _2, _3)); - bbtkDebugMessage("connection",1,"<== Connection::Connection(\"" - <bbGetFullName()<<"\",\""<bbGetFullName()<<"\",\""<bbGetName()<<"\",\""<bbGetName()<<"\",\""< Connection::Connection(\"" + bbtkDebugMessage("object",2,"==> Connection(\"" <bbGetName()<<"\",\""<bbGetName()<<"\",\""< Connection::~Connection() [" - < ~Connection()" + < Connection::RecursiveExecute() [" - < Connection::RecursiveExecute()" + <bbGetExecuting()) + { + bbtkDebugMessage("process",3, + " -> "<bbGetName() + <<" already executing : abort"<bbRecursiveExecute(GetThisPointer()); @@ -357,7 +372,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output, } mTo->bbGetInputConnector(mInput).SetStatus(s); - bbtkDebugMessage("process",4, + bbtkCDebugMessage("process",4, " --> '"<bbGetName()<<"."<bbGetInputConnector(mInput)<<"] " <<"' new status '" @@ -365,9 +380,9 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output, <<"'" << std::endl); - bbtkDebugMessage("process",4, - "<=== Connection::RecursiveExecute() [" - <() <<" which contains a <" <bbGetOutput(mOutput).type()) <<">"<bbGetInputType(mInput)) <<">"<bbGetOutput(mOutput).type() == typeid(void)) + { + bbtkCDebugMessage("data",3, + " -> Source is void : nothing to transfer!"<bbGetOutput(mOutput) + else if (mFrom->bbGetOutput(mOutput) .contains( mTo->bbGetInputType(mInput) ) ) { - bbtkDebugMessage("data",3, + bbtkCDebugMessage("data",3, " -> Equal types : transfer ok"<bbSetInput( mInput, mFrom->bbGetOutput(mOutput), @@ -433,7 +454,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output, } if (adaptor) { - bbtkDebugMessage("data",3," -> Adaptor found : using it" + bbtkCDebugMessage("data",3," -> Adaptor found : using it" <bbSetInput("In",mFrom->bbGetOutput(mOutput),false); adaptor->bbExecute(); @@ -447,7 +468,7 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output, (mTo->bbGetDescriptor()->GetInputDescriptor(mInput) ->IsPointerType()) ) { - bbtkDebugMessage("data",3, + bbtkCDebugMessage("data",3, " -> No adaptor found but source and target types are both pointers : trying up or down cast"< Connection::OnOutputChange(" - <bbGetInputConnectorMap().find("In")->second; @@ -531,7 +552,8 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output, //================================================================== void Connection::Check() const { - bbtkMessage("debug",1,"** Checking Connection "<<(void*)this<<" ["<bbGetFullName()<bbGetName()<bbHasOutput(mOutput)) { bbtkError("** Checking Connection "<<(void*)this <<" ["<bbGetFullName()<<" does not have output '" + << mFrom->bbGetName()<<" does not have output '" <bbGetFullName()<<" output '" + <bbGetName()<<" output '" <bbGetFullName() + <bbGetName() <<" does not point to this connection"); } @@ -598,13 +619,13 @@ Connection::Connection(BlackBox::Pointer from, const std::string& output, // std::cout << mTo << std::endl; // std::cout << mTo->bbGetDescriptor() << std::endl; // std::cout << mTo->bbGetDescriptor()->GetTypeName() << std::endl; - // mTo->bbGetFullName(); - bbtkMessage("debug",2," - To : "<bbGetFullName()<bbGetName(); + bbtkMessage("debug",2," - To : "<bbGetName()<bbHasInput(mInput)) { bbtkError("** Checking Connection "<<(void*)this <<" ["<bbGetFullName()<<" does not have input '" + <bbGetName()<<" does not have input '" <bbGetFullName()<<" input '" + <bbGetName()<<" input '" <bbGetFullName() + <bbGetName() <<" does not point to this connection"); }