19 #ifndef OST_IO_SURFACE_IO_PLUGIN_H
20 #define OST_IO_SURFACE_IO_PLUGIN_H
22 #include <boost/shared_ptr.hpp>
23 #include <boost/filesystem/operations.hpp>
27 namespace ost {
namespace io {
50 template <
class HANDLER>
53 virtual bool ProvidesImport(
const boost::filesystem::path& loc,
const String& type)
const {
54 return HANDLER::ProvidesImport(loc,type);
57 virtual bool ProvidesExport(
const boost::filesystem::path& loc,
const String& type)
const {
58 return HANDLER::ProvidesExport(loc,type);
65 virtual String GetFormatName()
const {
66 return HANDLER::GetFormatName();
69 virtual String GetFormatDescription()
const {
70 return HANDLER::GetFormatDescription();
virtual String GetFormatDescription() const =0
virtual bool ProvidesExport(const boost::filesystem::path &loc, const String &type) const =0
virtual String GetFormatName() const =0
virtual bool ProvidesImport(const boost::filesystem::path &loc, const String &type) const =0
virtual ~SurfaceIOHandlerFactoryBase()
virtual SurfaceIOHandlerPtr Create() const =0
virtual ~SurfaceIOHandler()
virtual void Export(const mol::SurfaceHandle &ent, const boost::filesystem::path &loc) const =0
virtual void Import(mol::SurfaceHandle &surf, const boost::filesystem::path &loc)=0
boost::shared_ptr< SurfaceIOHandler > SurfaceIOHandlerPtr
boost::shared_ptr< SurfaceIOHandlerFactoryBase > SurfaceIOHandlerFactoryBasePtr