CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/EventFilter/StorageManager/src/DQMHttpSource.h

Go to the documentation of this file.
00001 // $Id: DQMHttpSource.h,v 1.13 2011/04/04 16:05:37 mommsen Exp $
00003 
00004 #ifndef StorageManager_DQMHttpSource_h
00005 #define StorageManager_DQMHttpSource_h
00006 
00007 #include "DQMServices/Core/interface/DQMStore.h"
00008 #include "EventFilter/StorageManager/interface/DQMEventConsumerRegistrationInfo.h"
00009 #include "EventFilter/StorageManager/interface/EventServerProxy.h"
00010 #include "FWCore/Framework/interface/InputSourceDescription.h"
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 #include "FWCore/Sources/interface/RawInputSource.h"
00014 #include "IOPool/Streamer/interface/DQMEventMessage.h"
00015 
00016 #include <boost/thread/mutex.hpp>
00017 
00018 #include <memory>
00019 
00020 
00021 namespace edm
00022 {
00032   class DQMHttpSource : public edm::RawInputSource
00033   {
00034   public:
00035     DQMHttpSource
00036     (
00037       const edm::ParameterSet&, 
00038       const edm::InputSourceDescription&
00039     );
00040     virtual ~DQMHttpSource() {};
00041 
00042     static void addEventToDQMBackend
00043     (
00044       DQMStore*,
00045       const DQMEventMsgView&,
00046       const bool overwrite
00047     );
00048 
00049 
00050   private:
00051     virtual std::auto_ptr<edm::Event> readOneEvent();
00052     void initializeDQMStore();
00053 
00054     stor::EventServerProxy<stor::DQMEventConsumerRegistrationInfo> dqmEventServerProxy_;
00055     DQMStore* dqmStore_;
00056 
00057     static boost::mutex mutex_;
00058   };
00059 
00060 } // namespace edm
00061 
00062 #endif // StorageManager_DQMHttpSource_h
00063 
00064