CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/CondCore/ORA/interface/IBlobStreamingService.h

Go to the documentation of this file.
00001 #ifndef INCLUDE_ORA_IBLOBSTREAMINGSERVICE_H
00002 #define INCLUDE_ORA_IBLOBSTREAMINGSERVICE_H
00003 
00004 #include <boost/shared_ptr.hpp>
00005 
00006 namespace coral {
00007   class Blob;
00008 }
00009 
00010 namespace Reflex {
00011   class Type;
00012 }
00013 
00014 namespace ora {
00015   
00017   class IBlobStreamingService
00018   {
00019   public:
00021     virtual ~IBlobStreamingService() {}
00022 
00023     virtual boost::shared_ptr<coral::Blob> write( const void* addressOfInputData, const Reflex::Type& classDictionary, bool useCompression = true ) = 0;
00024 
00026     virtual void read( const coral::Blob& blobData, void* addressOfContainer, const Reflex::Type& classDictionary ) = 0;
00027   };
00028 
00029 }
00030 
00031 #endif