int EventHandler::recordHandler(ClientData cdata, Tcl_Interp *irp, int argc, const char *argv[]) { //cout << "recordHandler: " << argv[0] << endl; if (strcmp(argv[0], "recordStart") == 0) { if((argc < 2) || (argc > 3)) { char msg[] = "Usage: recordStart <filename> [max_time]"; Tcl_SetResult(irp, msg, TCL_STATIC); return TCL_ERROR; } EventHandler *self = static_cast<EventHandler *>(cdata); unsigned max_time = 0; if (argc == 3) { max_time = atoi(argv[2]); } self->recordStart(argv[1], max_time); } else { if(argc != 1) { char msg[] = "Usage: recordStop"; Tcl_SetResult(irp, msg, TCL_STATIC); return TCL_ERROR; } EventHandler *self = static_cast<EventHandler *>(cdata); self->recordStop(); } return TCL_OK; }