CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/CondCore/ORA/src/RelationalStreamerFactory.h

Go to the documentation of this file.
00001 #ifndef INCLUDE_ORA_RELATIONALSTREAMERFACTORY_H
00002 #define INCLUDE_ORA_RELATIONALSTREAMERFACTORY_H
00003 
00004 namespace Reflex {
00005   class Type;
00006 }
00007 
00008 namespace ora {
00009 
00010   class ContainerSchema;
00011   class MappingElement;
00012   class IRelationalWriter;
00013   class IRelationalUpdater;
00014   class IRelationalReader;
00015   class IRelationalStreamer;
00016 
00017   class RelationalStreamerFactory {
00018 
00019     public:
00020 
00021     RelationalStreamerFactory( ContainerSchema& contSchema);
00022 
00023     ~RelationalStreamerFactory();
00024 
00025     IRelationalWriter* newWriter(const Reflex::Type& dataType,MappingElement& dataMapping );
00026 
00027     IRelationalUpdater* newUpdater(const Reflex::Type& dataType,MappingElement& dataMapping );
00028 
00029     IRelationalReader* newReader(const Reflex::Type& dataType,MappingElement& dataMapping );
00030 
00031     private:
00032 
00033     IRelationalStreamer* newStreamer( const Reflex::Type& dataType,MappingElement& dataMapping );
00034 
00035     private:
00036     ContainerSchema& m_containerSchema;
00037   };
00038 }
00039 
00040 
00041 #endif
00042