
#include "spec.h"

void ShowVers(Co co){
    int major, minor, patch;
    zmq_version (&major, &minor, &patch);
    printf ("0MQ: %d.%d.%d\n", major, minor, patch);
    printf("curses: %s\n", curses_version());
    printf("sqlite: %s\n",sqlite3_libversion());
}

void coInit(Co co){
    ZmqInit(co);
    CursesInit(co);
}

void coLoop(Co co){
    Routine routines[] = { coInput,coWait,0};
    Deed(co, routines);
    char tmp[10] = {0};
    zmq_recv(co->sub,tmp,10,ZMQ_NOBLOCK);
    if (tmp[0] != 'q')
    co->routine = coLoop;
}

void coEnd(Co co){
    ZmqEnd(co);
    endwin();
    printf("done\n");
    exit(0);
}

int main(void)
{
    printf("motherfucker\n");
    Con con = {0,0,0,0,0};
    Routine routines[] = { ShowVers, coWait, coInit, coLoop, coEnd, 0};
    Deed(&con,routines);
    return 0;
}
