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>
27namespace ost {
namespace io {
50template <
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