blob: 66c7ac3240ebaf0c9fbbada363e69c7e9c54e30b [file] [log] [blame]
Requirements:
1.Python3.6.
2.Install the template-toolkit package.
a. pip install Template-Toolkit-Python or
b. git clone https://github.com/lmr/Template-Toolkit-Python, and set the path of the package in the codeGen.py script [as argument in sys.path.append]
Inputs:
2 Json files:
generateItem.json - Defines path of templates, the class type to be generated(State/actionHandler/Enum), output directory to be produced.
stateMachineAppModel.json - Defines procedures, states for each procedure, event for each state, actions to be taken under each event and nextstate of the procedure.
Existing actionHandler.h and attachActionHandlers.cpp,detachActionHandlers.cpp,s1ReleaseActionHandlers.cpp files from <top-dir>/include/mme-app/actionHandlers and <top-dir>/src/mme-app/actionHandlers respectively.
Place it in output directories as the output produced should be merged with existing file properly.
Output:
1. mme states .cpp and header files. Copy to <top-dir>/src/mme-app/mme-states and <top-dir>/include/mme-app/mme-states
2. stateFactory.h and stateFactory.cpp Copy to <top-dir>/src/mme-app/mme-states and <top-dir>/include/mme-app/mme-states
3. actionHandlers
actionHandler.h and actionHandler source files per procedure (eg: attachActionHandlers.cpp, detachActionHandlers.cpp )
actionHandler.h should be placed in <top-dir>/include/mme-app/actionHandlers
attachActionHandler.cpp should placed in <top-dir>/src/mme-app/actionHandlers
4. enums used by the MME state machine - <top-dir>/include/stateMachineFwk
Execution:
-Run the below command:
python codeGen.py