]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkFactory.cxx
Bug #1498
[bbtk.git] / kernel / src / bbtkFactory.cxx
index 7ddf1778def128eb7ef7ee21bbb1e131efbaebdf..7c55c7f00ed9fd7dc33769cc2503098364e725b2 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkFactory.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/01/21 16:03:17 $
-  Version:   $Revision: 1.47 $
+  Date:      $Date: 2012/10/16 06:31:04 $
+  Version:   $Revision: 1.53 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -140,6 +140,8 @@ namespace bbtk
   
   void Factory::LoadPackage( const std::string& name )
   {
+         
+         
   // Note : in the following :
   // name : the user supplied name
   //      - abreviated name    e.g.       pkg   pkg.so   libbpkg   libbbpkg.so
@@ -149,6 +151,8 @@ namespace bbtk
   //
   // lastname : string before the last / (if any), or user supplied name
          
+        
+         
        if(name != ""){
                bbtkDebugMessageInc("kernel",7,"Factory::LoadPackage(\""<<name<<"\")"<<std::endl);
                bbtkMessage("debug",1,"Factory::LoadPackage(\""<<name<<"\")"<<std::endl);
@@ -158,7 +162,9 @@ namespace bbtk
                std::string pkgname;  // e.g. libbb<pkgname>.so
 
                std::string upath;
+
                pkgname = Utilities::ExtractPackageName(name,upath);
+                               
                bbtkMessage("debug",1,"Package name ["<<pkgname<<"]"<<std::endl);
                bbtkMessage("debug",1,"Package path ["<<upath<<"]"<<std::endl);
 
@@ -166,6 +172,14 @@ namespace bbtk
                PackageMapType::iterator iUnload;
                iUnload = mPackageMap.find(pkgname);
 
+//EED Debuging message
+     std::cout << "EED Factory::LoadPackage " <<  std::endl;
+//             PackageMapType::iterator it;
+//             for ( it=mPackageMap.begin() ; it != mPackageMap.end(); it++ )
+//                     std::cout << (*it).first << " ";
+//             std::cout << std::endl;
+
+               
                if (iUnload != mPackageMap.end())
                {
                  bbtkMessage("output",2,"["<< pkgname <<"] already loaded" << std::endl);
@@ -179,8 +193,6 @@ namespace bbtk
        // *all* the cases. JP
        //==================================================
 
-       //std::cout << "upath [" << upath << "]" << std::endl;
-
                bool ok = false;
                bool foundFile = false;
 
@@ -499,6 +511,9 @@ namespace bbtk
                         p->GetName()<<"\")"<<std::endl);
 
     p->AddFactory(GetThisPointer<Factory>());
+         
+printf("EED Factory::InsertPackage %s\n", p->GetName().c_str() );        
+         
     mPackageMap[p->GetName()] = p;
 
     bbtkDebugDecTab("kernel",9);
@@ -533,6 +548,22 @@ namespace bbtk
   //===================================================================
   
 
+//     ups3 EED borrame        
+       std::string Factory::GetPackageNameOfaBlackBox(std::string boxType)
+       {
+               std::string result="<void bbtk package name>";
+               PackageMapType::const_iterator i;
+               for (i = mPackageMap.begin(); i!=mPackageMap.end(); ++i )
+               {
+                       if ( i->second->ifBoxExist( boxType ) == true)
+                       {
+                               result = i->first;
+                       }
+               }
+               return result;
+       }
+       
+       
   //===================================================================
   /// Creates an instance of a black box of type <type> with name <name>
   BlackBox::Pointer Factory::NewBlackBox(const std::string& type, 
@@ -833,7 +864,6 @@ namespace bbtk
 
  void Factory::ShowGraphTypes(const std::string& name) const
  {
-
    bool found = false;
    PackageMapType::const_iterator i;
    for (i = mPackageMap.begin(); i!=mPackageMap.end(); ++i )
@@ -888,7 +918,7 @@ namespace bbtk
     std::string title;
 
     typedef std::map<std::string, 
-      std::vector<BlackBoxDescriptor::Pointer> > IndexType;
+                     std::vector<BlackBoxDescriptor::Pointer> > IndexType;
     IndexType index;
     // Builds the index map
     PackageMapType::const_iterator i;
@@ -938,7 +968,6 @@ namespace bbtk
                                title = "Boxes by category";
                        }
 
-
                        std::vector<std::string>::const_iterator k;
                        for (k=keys.begin(); k!=keys.end(); ++k )
                        {
@@ -955,7 +984,6 @@ namespace bbtk
                                        index[*k] = v;
                                }
                        }
-
                }
        }   
     // Creates the file