X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkPackage.h;h=1dfc854f4f0bb577e364157a21006084c770e1da;hb=9a547ce682c6ca6a25a2e937c3e5bbe9b2aae3d6;hp=069d13598275e865d8eea0380c798a7f03508914;hpb=a26195c366a89795288009cf7e20f11afa494970;p=bbtk.git diff --git a/kernel/src/bbtkPackage.h b/kernel/src/bbtkPackage.h index 069d135..1dfc854 100644 --- a/kernel/src/bbtkPackage.h +++ b/kernel/src/bbtkPackage.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkPackage.h,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/03/07 08:40:14 $ + Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See doc/license.txt or @@ -43,19 +43,26 @@ namespace bbtk ~Package(); /// Returns the name of the package const std::string& GetName() const { return mName; } + /// Returns the author of the package const std::string& GetAuthor() const { return mAuthor; } + + /// Returns the category of the package + const std::string& GetCategory() const { return mCategory; } + /// Returns the description of the package const std::string& GetDescription() const { return mDescription; } + /// Returns the version of the package const std::string& GetVersion() const { return mVersion; } + /// Returns the version of bbtk used to build the package const std::string& GetBBTKVersion() const { return mBBTKVersion; } - + bool ContainsBlackBox(const std::string& boxname) const; - - BlackBox* NewBlackBox(const std::string& type, + + BlackBox* NewBlackBox(const std::string& type, const std::string& name) const; BlackBox* NewAdaptor(TypeInfo typein, @@ -93,12 +100,30 @@ namespace bbtk /// Changes the name of a black box type void ChangeBlackBoxName( const std::string& oldname, const std::string& newname ); + /// The type of map of descriptors + typedef std::map< std::string, BlackBoxDescriptor*> BlackBoxMapType; + const BlackBoxMapType& GetBlackBoxMap() const { return mBlackBoxMap; } + BlackBoxMapType& GetBlackBoxMap() { return mBlackBoxMap; } + // Factories management + /// Adds the factory to the set of factories which use the package + void AddFactory(Factory* f) { mFactorySet.insert(f); } + /// Removes the factory from the set of factories which use the package + void RemoveFactory(Factory* f) { mFactorySet.erase(f); } + + /// Gets the set of factories which use the package + std::set& GetFactorySet() { return mFactorySet; } + /// Gets the set of factories which use the package (const) + const std::set& GetFactorySet() const { return mFactorySet; } + private: + /// The name of the package std::string mName; /// The author of the package std::string mAuthor; + /// The categories of the package + std::string mCategory; /// The description of the package std::string mDescription; /// The version of the package @@ -112,8 +137,6 @@ namespace bbtk std::string mDocRelativeURL; - /// The type of map of descriptors - typedef std::map< std::string, BlackBoxDescriptor*> BlackBoxMapType; /// The map of black boxes descriptors BlackBoxMapType mBlackBoxMap; @@ -141,13 +164,16 @@ namespace bbtk std::string mTypeOut; }; - //typedef std::string AdaptorKey; - /// The type of map of adaptor descriptors typedef std::map< AdaptorKey, BlackBoxDescriptor*> AdaptorMapType; /// The map of adaptors descriptors AdaptorMapType mAdaptorMap; + + + /// The set of factories which contain the package + std::set mFactorySet; + }; // EO class Package //====================================================================