* Sebastian Hammer, Adam Dickmeiss
*
* $Log: ir-tcl.c,v $
- * Revision 1.67 1996-01-03 09:00:51 adam
+ * Revision 1.69 1996-01-04 16:12:12 adam
+ * Setting PDUType renamed to eventType.
+ *
+ * Revision 1.68 1996/01/04 11:05:22 adam
+ * New setting: PDUType - returns type of last PDU returned from the target.
+ * Fixed a bug in configure/Makefile.
+ *
+ * Revision 1.67 1996/01/03 09:00:51 adam
* Updated to use new version of Yaz (names changed to avoid C++ conflict).
*
* Revision 1.66 1995/11/28 17:26:39 adam
do_disconnect (p, NULL, 2, NULL);
return TCL_ERROR;
}
+ p->eventType = "connect";
ir_select_add (cs_fileno (p->cs_link), p);
if (r == 1)
{
if (argc == 0)
{
p->state = IR_TCL_R_Idle;
+ p->eventType = NULL;
p->hostname = NULL;
p->cs_link = NULL;
return TCL_OK;
/*
+ * do_eventType: Return type of last event
+ */
+static int do_eventType (void *obj, Tcl_Interp *interp,
+ int argc, char **argv)
+{
+ IrTcl_Obj *p = obj;
+
+ if (argc <= 0)
+ {
+ p->eventType = NULL;
+ return TCL_OK;
+ }
+ Tcl_AppendElement (interp, p->eventType ? p->eventType : "");
+ return TCL_OK;
+}
+
+
+/*
* do_callback: add callback
*/
static int do_callback (void *obj, Tcl_Interp *interp,
- int argc, char **argv)
+ int argc, char **argv)
{
IrTcl_Obj *p = obj;
return TCL_OK;
}
-
static IrTcl_Method ir_method_tab[] = {
{ 1, "comstack", do_comstack },
{ 1, "protocol", do_protocol },
{ 0, "failInfo", do_failInfo },
{ 0, "logLevel", do_logLevel },
+{ 0, "eventType", do_eventType },
{ 1, "connect", do_connect },
{ 0, "protocolVersion", do_protocolVersion },
{ 1, "preferredMessageSize", do_preferredMessageSize },
switch(apdu->which)
{
case Z_APDU_initResponse:
+ p->eventType = "init";
ir_initResponse (p, apdu->u.initResponse);
break;
case Z_APDU_searchResponse:
+ p->eventType = "search";
ir_searchResponse (p, apdu->u.searchResponse,
(IrTcl_SetObj *) cmd_info.clientData);
break;
case Z_APDU_presentResponse:
+ p->eventType = "present";
ir_presentResponse (p, apdu->u.presentResponse,
(IrTcl_SetObj *) cmd_info.clientData);
break;
case Z_APDU_scanResponse:
+ p->eventType = "scan";
ir_scanResponse (p, apdu->u.scanResponse,
(IrTcl_ScanObj *) cmd_info.clientData);
break;