00001 #ifndef FWCore_MessageLogger_ConfigurationHandshake_h 00002 #define FWCore_MessageLogger_ConfigurationHandshake_h 00003 00004 #include "FWCore/Utilities/interface/EDMException.h" 00005 00006 #include "boost/thread/condition.hpp" 00007 #include "boost/thread/mutex.hpp" 00008 00009 namespace edm { 00010 class ParameterSet; 00011 00012 typedef boost::shared_ptr<edm::Exception> Pointer_to_new_exception_on_heap; 00013 typedef boost::shared_ptr<Pointer_to_new_exception_on_heap> Place_for_passing_exception_ptr; 00014 00015 struct ConfigurationHandshake { 00016 void* p; 00017 boost::mutex m; 00018 boost::condition c; 00019 edm::Place_for_passing_exception_ptr epp; 00020 explicit ConfigurationHandshake 00021 (void* p_in, Place_for_passing_exception_ptr epp_in) : 00022 p(p_in), m(), c(), epp(epp_in) {} 00023 }; 00024 } // namespace edm 00025 #endif // FWCore_MessageLogger_ConfigurationHandshake_h