]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkFactory.h
Started the devel of a wx package browser
[bbtk.git] / kernel / src / bbtkFactory.h
index 0a7f39e6f2f0a1adca70e8a842cc671b20862bfd..3150e6ea3fbdcb0d86376372cb6376ead1e78235 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkFactory.h,v $
   Language:  C++
-  Date:      $Date: 2008/02/12 12:55:16 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2008/03/28 13:42:17 $
+  Version:   $Revision: 1.11 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See doc/license.txt or
@@ -35,6 +35,9 @@
 
 namespace bbtk
 {
+
+  class Executer;
+
   class BBTK_EXPORT Factory
   {
 
@@ -42,10 +45,8 @@ namespace bbtk
 
     Factory();
     ~Factory();
-
-    void LoadPackage( const std::string& name, 
-                      bool use_configuration_file = true, 
-                     bool verbose = false );
+    
+    void LoadPackage( const std::string& name );
     void UnLoadPackage( const std::string& name );
     void PrintPackages(bool details = true, bool adaptors = false) const;
     void HelpPackage(const std::string& name, bool adaptors = false) const;
@@ -78,18 +79,27 @@ namespace bbtk
       {
        Packages,
        Categories,
-       Initials
+       Initials,
+       Adaptors
       }
       IndexEntryType;
     void CreateHtmlIndex(IndexEntryType type, const std::string& filename);
 
+    /// Sets the executer who created the factory (if any)
+    void SetExecuter(Executer *e) { mExecuter = e; }
+    /// Gets the executer who created the factory (if any)
+    Executer* GetExecuter() { return mExecuter; }
+    /// Gets the executer who created the factory (if any) - const
+    const Executer* GetExecuter() const { return mExecuter; }
+
+
   private:
 
     bool DoLoadPackage(std::string libname,
                       std::string pkgname,
-                      std::string path,
-                      bool v);
+                      std::string path);
 
+  public:
     /// The structure storing info on a package
     class PackageInfoType
     {
@@ -105,9 +115,16 @@ namespace bbtk
     };
     /// The type of map of packages
     typedef std::map< std::string, PackageInfoType > PackageMapType;
+
+    const PackageMapType& GetPackageMap() const { return mPackageMap; }
+
+  private:
     /// The map of packages
     PackageMapType mPackageMap;
 
+    /// The executer which created the factory (if any)
+    Executer* mExecuter;
+
     void CloseAllPackages();
     void ClosePackage(PackageMapType::iterator& i);
 
@@ -115,6 +132,8 @@ namespace bbtk
   // class Factory
 
 
+
+  /*
   /// SYSTEM METHOD : Global method returning the global factory object pointer
   inline Factory*& GlobalFactoryPointer() 
   {
@@ -141,10 +160,9 @@ namespace bbtk
     }
   }
 
-  inline void LoadPackage( const std::string& name, 
-                           bool use_configuration_file = true, bool verbose = false )
+  inline void LoadPackage( const std::string& name )
   {
-    GetGlobalFactory()->LoadPackage(name,use_configuration_file, verbose);
+    GetGlobalFactory()->LoadPackage(name);
   }
 
   inline void UnLoadPackage( const std::string& name )
@@ -170,7 +188,7 @@ namespace bbtk
 
   inline void HelpBlackBox(const std::string& name, std::string& package,
                           bool full=true
-                          ) 
+                          )
   {
     GetGlobalFactory()->HelpBlackBox(name, package, full);
   }
@@ -221,7 +239,7 @@ namespace bbtk
   {
     GetGlobalFactory()->WriteDotFilePackagesList(ff);
   }
-
+  */
 }// namespace bbtk