21 #ifndef ph_ioplugin_hh 22 #define ph_ioplugin_hh 37 static const char *type_descr;
61 typedef typename D::type
Data;
64 typedef typename std::shared_ptr<Data >
PData;
82 void add_suffixes(std::multimap<std::string, std::string>& map)
const;
91 PData load(
const std::string& fname)
const;
100 bool save(
const std::string& fname,
const Data& data)
const;
103 const PixelTypeSet& supported_pixel_types()
const;
112 const std::string get_preferred_suffix()
const;
115 void add_suffix(
const std::string& suffix);
116 const SuffixSet& get_suffixes()
const;
121 PixelTypeSet m_typeset;
123 SuffixSet m_suffixes;
129 virtual PData do_load(
const std::string& fname)
const = 0;
140 virtual bool do_save(
const std::string& fname,
const typename D::type& data)
const = 0;
142 virtual const std::string do_get_preferred_suffix()
const;
EXPORT_CORE const char *const io_plugin_property_can_pipe
std::shared_ptr< Data > PData
shared pointer of the data handled by this plug-in
std::set< EPixelType > PixelTypeSet
the type for the supported pixel types of this IO handler
The templatex basis class of all IO plug-ins.
EXPORT_CORE const char *const io_plugin_property_has_attributes
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
EXPORT_CORE const char *const io_plugin_property_history_split
D::type Data
type of the data handled by this plug-in
EXPORT_CORE const char *const io_plugin_property_multi_record
This class implements a facade for the xml Element.
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport.
std::set< std::string > SuffixSet
The generic base for all plug-ins.
#define NS_MIA_END
conveniance define to end the mia namespace