X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=ir-tclp.h;h=c6bc62c4ee5194b1f89ddf9542d83d83bd6b3774;hb=18b8c7d07e10af9b604074c75dd196615edbe57b;hp=4813c41105a2c4d23a14b5d1baf4d88129603bc0;hpb=c197f6473108e14de90e93ba11b721614240e559;p=ir-tcl-moved-to-github.git diff --git a/ir-tclp.h b/ir-tclp.h index 4813c41..c6bc62c 100644 --- a/ir-tclp.h +++ b/ir-tclp.h @@ -5,7 +5,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: ir-tclp.h,v $ - * Revision 1.26 1996-02-21 10:16:20 adam + * Revision 1.27 1996-02-23 13:41:41 adam + * Work on public access to simple ir class system. + * + * Revision 1.26 1996/02/21 10:16:20 adam * Simplified select handling. Only one function ir_tcl_select_set has * to be externally defined. * @@ -130,6 +133,17 @@ #include "ir-tcl.h" typedef struct { + char *name; + int (*method) (void *obj, Tcl_Interp *interp, int argc, char **argv); + char *desc; +} IrTcl_Method; + +typedef struct { + void *obj; + IrTcl_Method *tab; +} IrTcl_Methods; + +typedef struct { char **databaseNames; int num_databaseNames; char *queryType; @@ -341,10 +355,24 @@ void ir_tcl_read_grs (Z_GenericRecord *r, IrTcl_GRS_Record **grs_record); int ir_tcl_get_grs (Tcl_Interp *interp, IrTcl_GRS_Record *grs_record, int argc, char **argv); +int ir_tcl_method (Tcl_Interp *interp, int argc, char **argv, + IrTcl_Methods *tab); + +typedef struct { + const char *name; + int (*ir_init) (ClientData clientData, Tcl_Interp *interp, + int argc, char **argv, ClientData *subData); + int (*ir_method) (ClientData clientData, Tcl_Interp *interp, + int argc, char **argv); + void (*ir_delete)(ClientData clientData); +} IrTcl_Class; + +extern IrTcl_Class ir_obj_class; + void ir_select_add (int fd, void *obj); void ir_select_add_write (int fd, void *obj); void ir_select_remove (int fd, void *obj); -void ir_selcet_remove_write (int fd, void *obj); +void ir_select_remove_write (int fd, void *obj); #define IR_TCL_FAIL_CONNECT 1 #define IR_TCL_FAIL_READ 2