CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/EventFilter/ResourceBroker/interface/BUProxy.h

Go to the documentation of this file.
00001 
00002 //
00003 // BUProxy
00004 // -------
00005 //
00007 
00008 #ifndef BUPROXY_H
00009 #define BUPROXY_H
00010 
00011 #include "EventFilter/ResourceBroker/interface/FUTypes.h"
00012 #include "EventFilter/Utilities/interface/Exception.h"
00013 #include "xdaq/Application.h"
00014 
00015 namespace evf {
00016 
00021 class BUProxy {
00022 public:
00023         //
00024         // construction/destruction
00025         //
00026                         BUProxy(xdaq::ApplicationDescriptor *fuAppDesc,
00027                                         xdaq::ApplicationDescriptor *buAppDesc,
00028                                         xdaq::ApplicationContext *fuAppContext,
00029                                         toolbox::mem::Pool *i2oPool);
00030         virtual ~BUProxy();
00031 
00032         //
00033         // member functions
00034         //
00035 
00039         void sendAllocate(const UIntVec_t& fuResourceIds) throw (evf::Exception);
00040 
00044         void sendDiscard(UInt_t buResourceId) throw (evf::Exception);
00045 
00046 private:
00047         //
00048         // member data
00049         //
00050         xdaq::ApplicationDescriptor *fuAppDesc_;
00051         xdaq::ApplicationDescriptor *buAppDesc_;
00052         xdaq::ApplicationContext *fuAppContext_;
00053         toolbox::mem::Pool *i2oPool_;
00054 
00055 };
00056 
00057 } // namespace evf
00058 
00059 #endif