- return new Connection(from,output,to,input);
- /*
- Connection* c;
- // !!! WARNING : WE NEED TO TEST THE TYPE NAME EQUALITY
- // BECAUSE IN DIFFERENT DYN LIBS THE type_info EQUALITY CAN
- // BE FALSE (DIFFERENT INSTANCES !)
-
- std::string t1 ( from->bbGetOutputType(output).name() );
- std::string t2 ( to->bbGetInputType(input).name() );
-
-
- if ( t1 == t2 )
- //from->bbGetOutputType(output) ==
- // to->bbGetInputType(input) )
- {
- c = new Connection(from,output,to,input);
- }
- else
- {
- // std::cout << "Adaptive connection "<<std::endl;
- std::string name;
- name = from->bbGetName() + "." + output + "-"
- + to->bbGetName() + "." + input;
-
- BlackBox* b = 0;
- PackageMapType::const_iterator i;
- for (i = mPackageMap.begin(); i!=mPackageMap.end(); ++i )
- {
- b = i->second.mPackage->NewAdaptor(from->bbGetOutputType(output),
- to->bbGetInputType(input),
- name);
- if (b) break;
- }
- if (!b)
- {
- bbtkError("did not find any <"
- <<TypeName(from->bbGetOutputType(output))
- <<"> to <"
- <<TypeName(to->bbGetInputType(input))
- <<"> adaptor");
- }
- c = new AdaptiveConnection(from,output,to,input,b);
- }
- bbtkDebugDecTab("Core",7);
-
- return c;
- */