9 #include <boost/statechart/event_base.hpp>
11 #include "xcept/tools.h"
15 using namespace boost::statechart;
17 Operations::Operations()
23 Operations::~Operations()
29 void Operations::processI2OFragment(
I2OChain& frag )
const
31 do_processI2OFragment( frag );
34 void Operations::noFragmentToProcess()
const
36 do_noFragmentToProcess();
39 std::string Operations::stateName()
const
41 return do_stateName();
46 do_moveToFailedState( exception );
55 Operations::do_processI2OFragment(
I2OChain& frag )
const
77 void Operations::safeEntryAction()
79 const std::string
unknown =
"unknown exception";
80 std::string
msg =
"Error going into " + stateName() +
" state: ";
87 XCEPT_DECLARE_NESTED( stor::exception::StateTransition,
88 sentinelException, msg, e );
89 moveToFailedState( sentinelException );
94 XCEPT_DECLARE( stor::exception::StateTransition,
95 sentinelException, msg );
96 moveToFailedState( sentinelException );
100 msg +=
"unknown exception";
101 XCEPT_DECLARE( stor::exception::StateTransition,
102 sentinelException, msg );
103 moveToFailedState( sentinelException );
108 void Operations::safeExitAction()
110 const std::string
unknown =
"unknown exception";
111 std::string
msg =
"Error leaving " + stateName() +
" state: ";
118 XCEPT_DECLARE_NESTED( stor::exception::StateTransition,
119 sentinelException, msg, e );
120 moveToFailedState( sentinelException );
125 XCEPT_DECLARE( stor::exception::StateTransition,
126 sentinelException, msg );
127 moveToFailedState( sentinelException );
131 msg +=
"unknown exception";
132 XCEPT_DECLARE( stor::exception::StateTransition,
133 sentinelException, msg );
134 moveToFailedState( sentinelException );
140 Operations::do_noFragmentToProcess()
const