#ifndef __loadable_h__ #define __loadable_h__ #include /*****************************************************************************/ /* Loadable Class */ /* * A pure virtual base class for loadable items. * * When used in conjunction with the loader_class template, provides a method * for cached loading of items and guaranteed unique name look up. * * Classes which derive from loadable_class must implement load() method. */ /*****************************************************************************/ class loadable_class { private: std::string file_name; public: virtual ~loadable_class( void ) {} void set_file_name( const std::string &file_name ); std::string get_file_name( void ) const; virtual int get_file_version( void ) const; virtual bool load( bool use_cached = true ) = 0; }; #endif // __loadable_h__