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: }