/** simpleCommunicator_priv.h This file automatically generated by FSMLang */ #ifndef _SIMPLECOMMUNICATOR_PRIV_H_ #define _SIMPLECOMMUNICATOR_PRIV_H_ #include "simpleCommunicator.h" #ifdef SIMPLE_COMMUNICATOR_DEBUG #include <stdio.h> #include <stdlib.h> #endif #undef UFMN #define UFMN(A) simpleCommunicator_##A #ifdef SIMPLE_COMMUNICATOR_DEBUG extern char *SIMPLE_COMMUNICATOR_EVENT_NAMES[]; extern char *SIMPLE_COMMUNICATOR_STATE_NAMES[]; #endif typedef enum { simpleCommunicator_IDLE , simpleCommunicator_AWAITING_ACK , simpleCommunicator_numStates } SIMPLE_COMMUNICATOR_STATE; typedef struct _simpleCommunicator_struct_ SIMPLE_COMMUNICATOR; #undef FSM_TYPE_PTR #define FSM_TYPE_PTR pSIMPLE_COMMUNICATOR extern SIMPLE_COMMUNICATOR simpleCommunicator; typedef SIMPLE_COMMUNICATOR_EVENT (*SIMPLE_COMMUNICATOR_ACTION_FN)(FSM_TYPE_PTR); typedef void (*SIMPLE_COMMUNICATOR_FSM)(FSM_TYPE_PTR,SIMPLE_COMMUNICATOR_EVENT); void simpleCommunicatorFSM(FSM_TYPE_PTR,SIMPLE_COMMUNICATOR_EVENT); typedef struct _simpleCommunicator_action_trans_struct_ { SIMPLE_COMMUNICATOR_ACTION_FN action; SIMPLE_COMMUNICATOR_STATE transition; } SIMPLE_COMMUNICATOR_ACTION_TRANS, *pSIMPLE_COMMUNICATOR_ACTION_TRANS; struct _simpleCommunicator_struct_ { SIMPLE_COMMUNICATOR_STATE state; SIMPLE_COMMUNICATOR_EVENT event; SIMPLE_COMMUNICATOR_ACTION_TRANS const (*actionArray)[THIS(numEvents)][simpleCommunicator_numStates]; SIMPLE_COMMUNICATOR_FSM fsm; }; ACTION_RETURN_TYPE simpleCommunicator_sendMessage(FSM_TYPE_PTR); ACTION_RETURN_TYPE simpleCommunicator_queueMessage(FSM_TYPE_PTR); ACTION_RETURN_TYPE simpleCommunicator_checkQueue(FSM_TYPE_PTR); ACTION_RETURN_TYPE simpleCommunicator_noAction(FSM_TYPE_PTR); #endif