/* -*- C++ -*- * Copyright ©2008 Hugo Mills * * This software is distributed under the terms of the GNU GPL v3 * For more information on the GPL, see the file COPYING or * visit http://www.gnu.org/ * * This software is distributed without warranty */ #ifndef REFERENCE_H #define REFERENCE_H #include "magellan/plugin.h" #include "magellan/configuration.h" template class Reference : public T { public: Reference(const std::string& name) : ref(name) { } static T* parse( ConfigLexer* lex, const std::string& type, const std::string& subtype = "" ); virtual Plugin* bind(Configuration*); virtual bool isbound() const { return false; } protected: virtual ~Reference() { } private: std::string ref; static std::string accept_type(void); static std::string accept_subtype(void); }; #endif