00001 // -*- C++ -*- 00002 // 00003 // Package: Framework 00004 // Class : ProcessingController 00005 // 00006 // Implementation: 00007 // [Notes on implementation] 00008 // 00009 // Original Author: Chris Jones 00010 // Created: Mon Aug 9 09:33:31 CDT 2010 00011 // $Id: ProcessingController.cc,v 1.2 2010/08/27 19:57:25 wdd Exp $ 00012 // 00013 00014 // system include files 00015 00016 // user include files 00017 #include "FWCore/Framework/interface/ProcessingController.h" 00018 00019 using namespace edm; 00020 // 00021 // constants, enums and typedefs 00022 // 00023 00024 // 00025 // static data member definitions 00026 // 00027 00028 // 00029 // constructors and destructor 00030 // 00031 ProcessingController::ProcessingController(ForwardState forwardState, ReverseState reverseState, bool iCanRandomAccess) : 00032 forwardState_(forwardState), 00033 reverseState_(reverseState), 00034 transition_(kToNextEvent), 00035 specifiedEvent_(), 00036 canRandomAccess_(iCanRandomAccess), 00037 lastOperationSucceeded_(true) 00038 { 00039 } 00040 00041 // ProcessingController::ProcessingController(const ProcessingController& rhs) 00042 // { 00043 // // do actual copying here; 00044 // } 00045 00046 //ProcessingController::~ProcessingController() 00047 //{ 00048 //} 00049 00050 // 00051 // assignment operators 00052 // 00053 // const ProcessingController& ProcessingController::operator=(const ProcessingController& rhs) 00054 // { 00055 // //An exception safe implementation is 00056 // ProcessingController temp(rhs); 00057 // swap(rhs); 00058 // 00059 // return *this; 00060 // } 00061 00062 // 00063 // member functions 00064 // 00065 void 00066 ProcessingController::setTransitionToNextEvent() 00067 { 00068 transition_ = kToNextEvent; 00069 } 00070 00071 void 00072 ProcessingController::setTransitionToPreviousEvent() 00073 { 00074 transition_ = kToPreviousEvent; 00075 } 00076 00077 void 00078 ProcessingController::setTransitionToEvent( edm::EventID const& iID) 00079 { 00080 transition_ = kToSpecifiedEvent; 00081 specifiedEvent_ =iID; 00082 } 00083 00084 void 00085 ProcessingController::setLastOperationSucceeded(bool value) 00086 { 00087 lastOperationSucceeded_ = value; 00088 } 00089 00090 // 00091 // const member functions 00092 // 00093 ProcessingController::ForwardState 00094 ProcessingController::forwardState() const 00095 { 00096 return forwardState_; 00097 } 00098 00099 ProcessingController::ReverseState 00100 ProcessingController::reverseState() const 00101 { 00102 return reverseState_; 00103 } 00104 00105 bool 00106 ProcessingController::canRandomAccess() const 00107 { 00108 return canRandomAccess_; 00109 } 00110 00111 ProcessingController::Transition 00112 ProcessingController::requestedTransition() const 00113 { 00114 return transition_; 00115 } 00116 00117 00118 edm::EventID 00119 ProcessingController::specifiedEventTransition() const 00120 { 00121 return specifiedEvent_; 00122 } 00123 00124 bool 00125 ProcessingController::lastOperationSucceeded() const 00126 { 00127 return lastOperationSucceeded_; 00128 }