35 #ifndef ANA_OBJECT_OREADER_H
36 #define ANA_OBJECT_OREADER_H
60 typedef std::list<AObject *> (*
LoadFunction)(
const std::string & filename,
68 virtual std::list<AObject *>
load(
const std::string & filename,
89 virtual std::list<AObject *>
load(
const std::string & filename,
91 bool notifyFail =
true,
93 void* clientid=0 )
const;
95 bool onlyoutdated =
false )
const;
104 static std::set<std::string>
106 static std::set<std::string>
118 typedef std::multimap<std::string, carto::rc_ptr<LoadFunctionClass> >
120 static std::list<AObject*> readMObject(
121 const std::string & filename,
122 std::vector<std::pair<AObject *, bool> > &,
carto::Object options );
123 static _storagetype & _loaders();
Base Anatomist object (abstract)
virtual std::list< AObject * > load(const std::string &filename, PostRegisterList &subObjectsToRegister, carto::Object options)=0
virtual ~LoadFunctionClass()
static ObjectReader * reader()
singleton access
virtual AObject * readAims(const std::string &filename, PostRegisterList &subObjectsToRegister, carto::Object options=carto::none()) const
std::list< AObject * >(* LoadFunction)(const std::string &filename, PostRegisterList &subObjectsToRegister, carto::Object options)
static std::string anatomistSupportedFileExtensions()
static std::set< std::string > anatomistSupportedFileExtensionsSet()
std::list< AObject * > load_internal(const std::string &filename, PostRegisterList &subObjectsToRegister, carto::Object options) const
static std::string supportedFileExtensions(const std::string &objtype)
static std::string supportedFileExtensions(const std::set< std::string > &objtypes)
static void registerLoader(const std::string &extension, LoadFunction newFunc)
Register a new extension and a loader function.
static std::string allSupportedFileExtensions()
static std::set< std::string > supportedFileExtensionsSet(const std::string &objtype)
virtual std::list< AObject * > load(const std::string &filename, PostRegisterList &subObjectsToRegister, bool notifyFail=true, carto::Object options=carto::none(), void *clientid=0) const
static void cleanup()
unregister all loaders (called when exiting)
std::vector< std::pair< AObject *, bool > > PostRegisterList
virtual bool reload(AObject *object, bool notifyFail=true, bool onlyoutdated=false) const
static void registerLoader(const std::string &extension, LoadFunctionClass *newFunc)
same as the above function but takes a class loader instead.