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