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/mutex.hpp" 00007 #include "boost/thread/condition.hpp" 00008 00009 namespace edm 00010 { 00011 class ParameterSet; 00012 00013 typedef edm::Exception* Pointer_to_new_exception_on_heap; 00014 typedef Pointer_to_new_exception_on_heap* Place_for_passing_exception_ptr; 00015 00016 struct ConfigurationHandshake { 00017 void * p; 00018 boost::mutex m; 00019 boost::condition c; 00020 edm::Place_for_passing_exception_ptr epp; 00021 explicit ConfigurationHandshake 00022 (void * p_in, Place_for_passing_exception_ptr epp_in) : 00023 p(p_in), m(), c(), epp(epp_in) {} 00024 }; 00025 00026 } // namespace edm 00027 00028 00029 00030 #endif // FWCore_MessageLogger_ConfigurationHandshake_h