Exemplo n.º 1
0
static void oregano_init (Oregano *object)
{
	cursors_init ();
	stock_init ();

	oregano_config_load ();
}
Exemplo n.º 2
0
int
main(void) {
    int cmd_ret = 0;
    size_t size = 0;
    struct command cmd = {};

    stock_init(&state);

    while (1) {
        if (read_all(STDIN, &cmd, sizeof(cmd)) != sizeof(cmd))
            continue;

        switch (cmd.type) {
        case LIST_STOCKS:
            cmd_ret = cmd_list_stocks(&state);
            break;
        case LIST_ORDERS:
            cmd_ret = cmd_list_orders(&state, (char *)&cmd.arg0);
            break;
        case PLACE_ORDER:
            cmd_ret = cmd_place_order(&state, (char *)&cmd.arg0, cmd.arg1,
                    cmd.arg2, cmd.arg3);
            break;
        case CHECK_ORDER:
            cmd_ret = cmd_check_order(&state, cmd.arg0);
            break;
        case CANCEL_ORDER:
            cmd_ret = cmd_cancel_order(&state, cmd.arg0);
            break;
        case QUIT:
            goto out;
        default:
            cmd_ret = -1;
        }

        write_all(STDOUT, &cmd_ret, sizeof(cmd_ret));
    }
   
out:
    stock_destroy(&state);

    return 0;
}