]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkPackage.h
*** empty log message ***
[bbtk.git] / kernel / src / bbtkPackage.h
index 4b8d649f19ec5b1ddae40bc8a6402c05108946c9..419f3fea752e3e2b4e6ef6afe055e1e6f3d5810f 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkPackage.h,v $
   Language:  C++
-  Date:      $Date: 2009/05/28 08:26:59 $
-  Version:   $Revision: 1.14 $
+  Date:      $Date: 2009/06/08 14:50:04 $
+  Version:   $Revision: 1.15 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -92,6 +92,11 @@ namespace bbtk
     /// if it is no more used (released)
     /// Note : Any non-weak pointer on the package must have been freed
     static void Release(Package::WeakPointer p);
+
+
+    /// Registers the BlackBoxDescriptor in the Package
+    bool Register(BlackBoxDescriptor::Pointer); 
+
     /// "Releases" a black box descriptor
     /// Signals the package that it can free the given descriptor
     /// if it is no more used and frees and put it the the 
@@ -135,33 +140,44 @@ namespace bbtk
     /// Returns the version of the package
     const std::string& GetVersion() const { return mVersion; }
 
-       bool ContainsBlackBox(const std::string& boxname) const;
+    /// Returns true iff the package contains a BlackBoxDescriptor
+    /// with the name provided
+    bool ContainsDescriptor(const std::string& name) const;
 
+    /// Creates a new BlackBox of given type with name name
     BlackBox::Pointer NewBlackBox(const std::string& type,
                             const std::string& name) const;
-  
+    
+    /// Creates a new adaptor BlackBox for the given input and output types 
+    /// with name name
     BlackBox::Pointer NewAdaptor(const DataInfo& typein,
-                        const DataInfo& typeout,
-                        const std::string& name) const;
+                                const DataInfo& typeout,
+                                const std::string& name) const;
     
+    /// Creates a new widget adaptor BlackBox 
+    /// for the given input and output types 
+    /// with name name
     BlackBox::Pointer NewWidgetAdaptor(const DataInfo& typein,
-                             const DataInfo& typeout,
-                             const std::string& name) const;
+                                      const DataInfo& typeout,
+                                      const std::string& name) const;
     bool FindAdaptor(const DataInfo& typein,
-                          const DataInfo& typeout,
-                          std::string& adaptor) const;
+                    const DataInfo& typeout,
+                    std::string& adaptor) const;
     bool FindWidgetAdaptor(const DataInfo& typein,
                           const DataInfo& typeout,
                           std::string& adaptor) const;
 
-    bool RegisterBlackBox(BlackBoxDescriptor::Pointer); 
 
-    void PrintBlackBoxes(bool description = false, 
-                        bool adaptors = false) const;
-    void PrintAdaptors(bool description = false) const;
-    void HelpBlackBox(const std::string& name, bool full=true) const;
+    /// Displays the list of black box descriptors of the package    
+    void PrintHelpListDescriptors(bool description = false, 
+                             bool adaptors = false) const;
+    /// Displays the list of adaptors of the package
+    void PrintHelpListAdaptors(bool description = false) const;
+    /// Prints help on a particular Descriptor
+    void PrintHelpDescriptor(const std::string& name, bool full=true) const;
     
+
+
     void CreateHtmlPage(const std::string& filename,
                        const std::string& caller = "?",
                        const std::string& source = "?",
@@ -178,16 +194,16 @@ namespace bbtk
     const std::string& GetDocRelativeURL() const { return mDocRelativeURL; }
 
 
-    unsigned int GetNumberOfBlackBoxes() const { return mBlackBoxMap.size(); }
+    unsigned int GetNumberOfDescriptors() const { return mDescriptorMap.size(); }
     
-    /// Changes the name of a black box type
-    void ChangeBlackBoxName( const std::string& oldname, 
-                            const std::string& newname );
+    /// Changes the name of a descriptor
+    void ChangeDescriptorName( const std::string& oldname, 
+                              const std::string& newname );
     /// The type of map of descriptors
     typedef std::map< std::string, BlackBoxDescriptor::Pointer> 
-    BlackBoxMapType;
-    const BlackBoxMapType& GetBlackBoxMap() const { return mBlackBoxMap; }
-    BlackBoxMapType& GetBlackBoxMap() { return mBlackBoxMap; }
+    DescriptorMapType;
+    const DescriptorMapType& GetDescriptorMap() const { return mDescriptorMap; }
+    DescriptorMapType& GetDescriptorMap() { return mDescriptorMap; }
 
     /// The type of key in the map of adaptor descriptors
     class AdaptorKey 
@@ -237,7 +253,7 @@ namespace bbtk
     /// Gets the set of factories which use the package (const)
     const FactorySet& GetFactorySet() const { return mFactorySet; }
     
-    void CheckBoxes() const;
+    void Check() const;
 
   private:
     /// Default ctor is private : use the static New method
@@ -276,7 +292,7 @@ namespace bbtk
     std::string mDocRelativeURL;
 
     /// The map of black boxes descriptors
-    BlackBoxMapType mBlackBoxMap;
+    DescriptorMapType mDescriptorMap;
 
     /// The map of adaptors descriptors
     AdaptorMapType mAdaptorMap;
@@ -375,19 +391,19 @@ namespace bbtk
 //====================================================================
 #define BBTK_ADD_BLACK_BOX_TO_PACKAGE(NAME,CLASS)                      \
   bool bbDummy##NAME##CLASS = NAME ## GetPackage ()    \
-    ->RegisterBlackBox(CLASS ## Descriptor::Instance());
+    ->Register(CLASS ## Descriptor::Instance());
   //====================================================================
   
   //====================================================================
 #define BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(NAME,CLASS,TEMPLATE_PARAM) \
   bool bbDummy##NAME##CLASS##TEMPLATE_PARAM = NAME ## GetPackage ()    \
-    ->RegisterBlackBox(CLASS ## Descriptor <TEMPLATE_PARAM>::Instance());
+    ->Register(CLASS ## Descriptor <TEMPLATE_PARAM>::Instance());
   //====================================================================
   
   //====================================================================
 #define BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(NAME,CLASS,T1,T2)      \
   bool bbDummy##NAME##CLASS##T1##T2 = NAME ## GetPackage ()            \
-    ->RegisterBlackBox(CLASS ## Descriptor <T1,T2>::Instance()); 
+    ->Register(CLASS ## Descriptor <T1,T2>::Instance()); 
   //====================================================================