From 2db9dc2e600f39b13702adf27640fa1a5b02e479 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 10 Nov 2004 13:47:22 +0000 Subject: [PATCH] Moved the ReadFunctor to protected section. --- include/osgDB/Registry | 37 ++++++++++++++++++++++--------------- src/osgDB/Registry.cpp | 10 +++++----- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/include/osgDB/Registry b/include/osgDB/Registry index 2a5aa3443..7b832477c 100644 --- a/include/osgDB/Registry +++ b/include/osgDB/Registry @@ -395,21 +395,6 @@ class OSGDB_EXPORT Registry : public osg::Referenced /** Get the SharedStateManager. Return 0 if no SharedStateManager has been assigned.*/ SharedStateManager* getSharedStateManager() { return _sharedStateManager.get(); } - /** Functor used in internal implementations.*/ - struct ReadFunctor - { - ReadFunctor(const std::string& filename, const ReaderWriter::Options* options): - _filename(filename), - _options(options) {} - - virtual ~ReadFunctor() {} - virtual ReaderWriter::ReadResult doRead(ReaderWriter& rw) const = 0; - virtual bool isValid(ReaderWriter::ReadResult& readResult) const = 0; - virtual bool isValid(osg::Object* object) const = 0; - - std::string _filename; - const ReaderWriter::Options* _options; - }; protected: @@ -436,6 +421,28 @@ class OSGDB_EXPORT Registry : public osg::Referenced void eraseWrapper(DotOsgWrapperMap& wrappermap,DotOsgWrapper* wrapper); + /** Functor used in internal implementations.*/ + struct ReadFunctor + { + ReadFunctor(const std::string& filename, const ReaderWriter::Options* options): + _filename(filename), + _options(options) {} + + virtual ~ReadFunctor() {} + virtual ReaderWriter::ReadResult doRead(ReaderWriter& rw) const = 0; + virtual bool isValid(ReaderWriter::ReadResult& readResult) const = 0; + virtual bool isValid(osg::Object* object) const = 0; + + std::string _filename; + const ReaderWriter::Options* _options; + }; + + struct ReadObjectFunctor; + struct ReadImageFunctor; + struct ReadHeightFieldFunctor; + struct ReadNodeFunctor; + struct ReadArchiveFunctor; + ReaderWriter::ReadResult read(const ReadFunctor& readFunctor); ReaderWriter::ReadResult readImplementation(const ReadFunctor& readFunctor,CacheHintOptions useObjectCache); diff --git a/src/osgDB/Registry.cpp b/src/osgDB/Registry.cpp index 5942bf254..f3bc5ec30 100644 --- a/src/osgDB/Registry.cpp +++ b/src/osgDB/Registry.cpp @@ -1116,7 +1116,7 @@ bool Registry::writeObject(const osg::Object& obj,Output& fw) -struct ReadObjectFunctor : public Registry::ReadFunctor +struct Registry::ReadObjectFunctor : public Registry::ReadFunctor { ReadObjectFunctor(const std::string& filename, const ReaderWriter::Options* options):ReadFunctor(filename,options) {} @@ -1125,7 +1125,7 @@ struct ReadObjectFunctor : public Registry::ReadFunctor virtual bool isValid(osg::Object* object) const { return object!=0; } }; -struct ReadImageFunctor : public Registry::ReadFunctor +struct Registry::ReadImageFunctor : public Registry::ReadFunctor { ReadImageFunctor(const std::string& filename, const ReaderWriter::Options* options):ReadFunctor(filename,options) {} @@ -1134,7 +1134,7 @@ struct ReadImageFunctor : public Registry::ReadFunctor virtual bool isValid(osg::Object* object) const { return dynamic_cast(object)!=0; } }; -struct ReadHeightFieldFunctor : public Registry::ReadFunctor +struct Registry::ReadHeightFieldFunctor : public Registry::ReadFunctor { ReadHeightFieldFunctor(const std::string& filename, const ReaderWriter::Options* options):ReadFunctor(filename,options) {} @@ -1143,7 +1143,7 @@ struct ReadHeightFieldFunctor : public Registry::ReadFunctor virtual bool isValid(osg::Object* object) const { return dynamic_cast(object)!=0; } }; -struct ReadNodeFunctor : public Registry::ReadFunctor +struct Registry::ReadNodeFunctor : public Registry::ReadFunctor { ReadNodeFunctor(const std::string& filename, const ReaderWriter::Options* options):ReadFunctor(filename,options) {} @@ -1153,7 +1153,7 @@ struct ReadNodeFunctor : public Registry::ReadFunctor }; -struct ReadArchiveFunctor : public Registry::ReadFunctor +struct Registry::ReadArchiveFunctor : public Registry::ReadFunctor { ReadArchiveFunctor(const std::string& filename, ReaderWriter::ArchiveStatus status, unsigned int indexBlockSizeHint, const ReaderWriter::Options* options): ReadFunctor(filename,options),