1: // Implementation of methods for class rs_ff_state.  05/26/98 rj@elilabs.com
  3: #include "rs_ff_state.H"
  4: #include "rs_ff_session.H"
  7: // constructor.
  8: //
  9: rs_ff_state::rs_ff_state() {};
 11: // destructor.
 12: //
 13: rs_ff_state::~rs_ff_state() {};
 15: // The entry action.
 16: //
 17: void rs_ff_state::entry_action(rs_ff_session* current_session) {
 18:   current_session->Q = my_Q;
 19:   current_session->Qbar = my_Qbar;
 20:   return;
 21: }
 23: // The event sub-handlers.
 25: // event S
 26: //
 27: boolean rs_ff_state::S__guard(session* current_session) {
 28:   return S__guard_value;
 29: }
 31: void rs_ff_state::S__exit_action(session* current_session) {
 32:   return;
 33: }
 35: rs_ff_state* rs_ff_state::S__next_state(void) {
 36:   return S__next_value;
 37: }
 39: // event Sbar
 40: //
 41: boolean rs_ff_state::Sbar__guard(session* current_session) {
 42:   return Sbar__guard_value;
 43: }
 45: void rs_ff_state::Sbar__exit_action(session* current_session) {
 46:   return;
 47: }
 49: rs_ff_state* rs_ff_state::Sbar__next_state(void) {
 50:   return Sbar__next_value;
 51: }
 53: // event R
 54: //
 55: boolean rs_ff_state::R__guard(session* current_session) {
 56:   return R__guard_value;
 57: }
 59: void rs_ff_state::R__exit_action(session* current_session) {
 60:   return;
 61: }
 63: rs_ff_state* rs_ff_state::R__next_state(void) {
 64:   return R__next_value;
 65: }
 67: // event Rbar
 68: //
 69: boolean rs_ff_state::Rbar__guard(session* current_session) {
 70:   return Rbar__guard_value;
 71: }
 73: void rs_ff_state::Rbar__exit_action(session* current_session) {
 74:   return;
 75: }
 77: rs_ff_state* rs_ff_state::Rbar__next_state(void) {
 78:   return Rbar__next_value;
 79: }
 81: // Initializer.
 82: //
 83: void rs_ff_state::set(
 84:             // output
 85:             boolean Q,
 86:             boolean Qbar,
 87:             // guard
 88:             boolean gS,
 89:             boolean gSbar,
 90:             boolean gR,
 91:             boolean gRbar,
 92:             // next state
 93:             rs_ff_state* S,
 94:             rs_ff_state* Sbar,
 95:             rs_ff_state* R,
 96:             rs_ff_state* Rbar
 97:             ) {
 98:   // output
 99:    my_Q = Q;
100:    my_Qbar = Qbar;
101:   // guard
102:    S__guard_value = gS;
103:    Sbar__guard_value = gSbar;
104:    R__guard_value = gR;
105:    Rbar__guard_value = gRbar;
106:   // next state
107:    S__next_value = S;
108:    Sbar__next_value = Sbar;
109:    R__next_value = R;
110:    Rbar__next_value = Rbar;
111: }