/*========================================================================= Program: bbtk Module: $RCSfile: bbtkBlackBoxInputDescriptor.h,v $ Language: C++ Date: $Date: 2008/04/08 06:59:29 $ Version: $Revision: 1.4 $ 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, const std::string& nature, bool copy_construct = true, OptionType option = MANDATORY ) : BlackBoxInputOutputDescriptor(creator_type_info,name, description,nature, 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