| |
| |
| |
| |
| |
| |
| #include <stdio.h> |
| #include <cparser/ast/entity_t.h> |
| |
| #include <apimagic/apimagic.h> |
| #include "apimagic_driver_impl.h" |
| |
| int amgc_perform_unit_action( |
| const struct amgc_driver_ctx * dctx, |
| const struct amgc_unit_ctx * uctx, |
| const struct amgc_action * action, |
| const struct amgc_layout * layout) |
| { |
| switch (action->action) { |
| case AMGC_OUTPUT_ENUM: |
| if (action->symbol) |
| return -1; |
| else |
| return amgc_output_unit_enums(dctx,uctx,0); |
| |
| case AMGC_LIST_ENUM: |
| if (action->symbol) |
| return -1; |
| else |
| return amgc_list_unit_enums(dctx,uctx,0); |
| |
| case AMGC_OUTPUT_TYPEDEF: |
| return amgc_output_unit_entities( |
| dctx,uctx,ENTITY_TYPEDEF, |
| action->subset,layout); |
| |
| case AMGC_OUTPUT_STRUCT: |
| return amgc_output_unit_structs(dctx,uctx,layout); |
| |
| case AMGC_OUTPUT_UNION: |
| return amgc_output_unit_unions(dctx,uctx,layout); |
| } |
| |
| return -1; |
| } |