/*========================================================================= Program: bbtk Module: $RCSfile: bbtkBlackBoxInputDescriptor.h,v $ Language: C++ Date: $Date: 2008/04/04 08:04:05 $ Version: $Revision: 1.3 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ /** * \file * \brief Class bbtk::BlackBoxInputDescriptor : abstract descriptor of an input of a black box */ /** * \class bbtk::BlackBoxInputDescriptor * \brief Abstract descriptor of an input of a black box */ #ifndef __bbtkBlackBoxInputDescriptor_h__ #define __bbtkBlackBoxInputDescriptor_h__ #include "bbtkBlackBoxInputOutputDescriptor.h" namespace bbtk { class BBTK_EXPORT BlackBoxInputDescriptor : public BlackBoxInputOutputDescriptor { public: typedef enum { MANDATORY, OPTIONAL } OptionType; /// Ctor with name and description BlackBoxInputDescriptor(TypeInfo creator_type_info, const std::string& name, const std::string& description, OptionType option = MANDATORY, bool copy_construct = true) : BlackBoxInputOutputDescriptor(creator_type_info,name, description,copy_construct), mOption(option) {} /// Returns the option of the input OptionType GetOption() const { return mOption; } protected: /// Default ctor is reserved to children BlackBoxInputDescriptor() : BlackBoxInputOutputDescriptor(), mOption(OPTIONAL) {} private: /// The option of the input OptionType mOption; }; } // namespace bbtk #endif