Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

StreamPropertyReader.h

Go to the documentation of this file.
00001 
00042 #ifndef _AMIRE_PROPERTY_STREAM_PROPERTY_READER_H
00043 #define _AMIRE_PROPERTY_STREAM_PROPERTY_READER_H
00044 
00045 #include <iostream>
00046 #include <string>
00047 #include <hash_set>
00048 
00049 #include <amire/common/Utils.h>
00050 #include <amire/property/PropertyReader.h>
00051 
00052 namespace amire {
00053   namespace property {
00054     class PersistentProperty;
00055     class PropertyType;
00056     class StructProperty;
00057     class StructPropertyType;
00058     class PropertyTypeManager;
00059 
00060     class StreamPropertyReader : public PropertyReader {
00061     protected:
00062       std::istream *in;
00063 
00064     private:
00065       STD_HASH_SET(std::string, amire::common::HashCompareString) readStructPropertyTypes;
00066       PropertyTypeManager *propertyTypeManager;
00067 
00068     public:
00069       StreamPropertyReader(std::istream *in, PropertyTypeManager *propertyTypeManager = NULL);
00070 
00071       virtual ~StreamPropertyReader();
00072 
00073       virtual osg::ref_ptr<PersistentProperty> read();
00074 
00075     private:
00076       const StructPropertyType *readStructPropertyType();
00077       StructProperty *readStructProperty();
00078       PersistentProperty *readStructVectorProperty();
00079       PersistentProperty *readVectorProperty();
00080     };
00081   }
00082 }
00083 
00084 #endif
00085 

Generated on Tue May 20 17:23:53 2003 for AMIRE-Framework by doxygen1.3