00001 /* -*- C++ -*- */ 00002 00003 /* COPYRIGHT 00004 * 00005 * This file is part of the Visual Effects Engine - VEE 00006 * 00007 * Read the "VEE-LICENSE" file for the license. 00008 * 00009 * Authors & Copyright: 00010 * 00011 * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 00012 * Janne Kontkanen 2001-2004 00013 * 00014 * Additional copyrights: Tekes 2003-2004 00015 * 00016 * firstname.lastname@hut.fi 00017 * 00018 */ 00019 00020 #ifndef VEE_PARAMETER_H 00021 #define VEE_PARAMETER_H 00022 00023 #include <string> 00024 00025 class VEE_HasValues; 00026 00028 class VEE_Parameter 00029 { 00030 public: 00031 VEE_Parameter() {} 00032 virtual ~VEE_Parameter() {} 00033 00034 virtual VEE_Parameter * clone() const; 00035 virtual bool setValue(VEE_HasValues *); 00036 00037 const std::string & name() const 00038 { return m_name.size() ? m_name : m_id; } 00039 void setName(const std::string &name) { m_name = name; } 00040 00041 const std::string & id() const { return m_id; } 00042 void setId(const std::string &id) { m_id = id; } 00043 00044 protected: 00045 std::string m_id; 00046 std::string m_name; 00047 }; 00048 00049 #endif