Petras Saduikis / Mbed 2 deprecated FiniteStateMachine

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers FSMDefs.h Source File

FSMDefs.h

00001 /*
00002 * FiniteStateMachine. Table driven Finite State Machine library 
00003 * based on theHarel state machine, supporting actions on transitions, state
00004 * entry and state exit.
00005 *
00006 * Copyright (C) <2009> Petras Saduikis <petras@petras.co.uk>
00007 *
00008 * This file is part of FiniteStateMachine.
00009 *
00010 * FiniteStateMachine is free software: you can redistribute it and/or modify
00011 * it under the terms of the GNU General Public License as published by
00012 * the Free Software Foundation, either version 3 of the License, or
00013 * (at your option) any later version.
00014 * 
00015 * FiniteStateMachine is distributed in the hope that it will be useful,
00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 * GNU General Public License for more details.
00019 *
00020 * You should have received a copy of the GNU General Public License
00021 * along with DebugTrace.  If not, see <http://www.gnu.org/licenses/>.
00022 */
00023 
00024 #ifndef SNATCH59_FSMDEFS_H
00025 #define SNATCH59_FSMDEFS_H
00026 
00027 #define FSM_TEMPLATE_        template<class StateObjectType, class ActionPtrType, int maxStates>
00028 #define STATE_TEMPLATE_        template<class StateObjectType, class ActionPtrType>
00029 #define TRANS_DEF_TEMPLATE_    template<class ActionPtrType>
00030 
00031 #define FINITE_STATE_MACHINE_    FiniteStateMachine<StateObjectType, ActionPtrType, maxStates>
00032 #define STATE_                    State<StateObjectType, ActionPtrType>
00033 #define STATE_TRANSITION_        StateTransition<StateObjectType, ActionPtrType>
00034 #define TRANSITION_DEFINITION_    TransitionDefinition<ActionPtrType>
00035 #define STATE_DEFINITION_        StateDefinition<ActionPtrType>
00036 
00037 enum StateBehaviour {actions, noactions};
00038 
00039 #endif