FSM/FSM_OOP/childtest/main.c

33 lines
655 B
C

#include <stdio.h>
#include "childFSM.h"
#include "parentFSM.h"
#include "FSM_public.h"
ChildFSM *cFSM;
ParentFSM *pFSM;
int main(){
cFSM = createChildFSM();
pFSM = createParentFSM();
setChildNum((pFSM), 1);
registerChildFSM((pFSM), (cFSM), 0);
for (int i = 0; i < 15; i++)
{
((ChildFSMData *)getData((FSM_Ptr)(cFSM)))->arrindex = i;
((ParentFSMData *)getData((FSM_Ptr)(pFSM)))->arrindex = i;
ChildFSMData* data = getData((FSM_Ptr)(cFSM));
printf(" %d ", data->arrindex);
vptrFSM((FSM_Ptr)pFSM)->step((FSM_Ptr)pFSM);
printf("\n");
}
return 0;
}