blob: 0e46c38409f10369eec257c856b8cce834277a29 [file] [log] [blame]
struct o_fsm_t;
struct o_fsm_event_t;
typedef void (*fn_t) (struct o_fsm_t *,
struct o_fsm_event_t const *);
struct o_fsm_state_t {
fn_t dispatch;
};
struct o_fsm_t {
fn_t dispatch;
};
extern struct o_fsm_state_t o_fsm_tran(struct o_fsm_t *fsm,
struct o_fsm_state_t next_state);
static void plist_parser_state_start(struct o_fsm_t *fsm,
struct o_fsm_event_t const *fsm_event);
struct o_fsm_state_t o_fsm_state(fn_t dispatch_fcn)
{
return *(struct o_fsm_state_t *)&dispatch_fcn;
}
typedef struct _o_plist_parser_t {
struct o_fsm_t fsm;
} o_plist_parser_t;
static void plist_parser_state_start(struct o_fsm_t *fsm,
struct o_fsm_event_t const *fsm_event)
{
}
void o_plist_deserialize_xml(int fin)
{
o_plist_parser_t parser;
o_fsm_tran(&parser.fsm, o_fsm_state(plist_parser_state_start));
}