[ekg2-commit] ekg2: scripts.h (HEAD) scripts.c (HEAD) [darkjames]

CVS commit cvs w toxygen.net
Czw, 3 Maj 2007, 15:30:48 CEST


Module name:	ekg2
Changes by:	darkjames	2007-05-03 15:30:45

Modified files:
	scripts.h scripts.c

Log message:
scripts, use stuff from queries.h

Index: scripts.h
===================================================================
RCS file: /home/cvs/ekg2/ekg/scripts.h,v
diff -d -u -r1.16 -r1.17
--- scripts.h	4 Sep 2006 18:35:39 -0000	1.16
+++ scripts.h	3 May 2007 13:30:45 -0000	1.17
@@ -21,17 +21,6 @@
 	SCRIPT_PLUGINTYPE, 
 } script_type_t;
 
-typedef enum {
-	SCR_ARG_UNKNOWN,
-/*	SCR_ARG_CHAR, */ /* use SCR_ARG_INT */
-	SCR_ARG_CHARP,
-	SCR_ARG_CHARPP,
-	SCR_ARG_INT,
-	
-	SCR_ARG_WINDOW = 100, 
-	SCR_ARG_FSTRING, 
-} script_arg_type_t;
-
 typedef struct {
 	void 		*lang;
 	char 		*name;
@@ -194,7 +183,7 @@
 
 script_command_t *script_command_bind(scriptlang_t *s, script_t *scr, char *command, void *handler);
 script_timer_t *script_timer_bind(scriptlang_t *s, script_t *scr, int freq, void *handler);
-script_query_t *script_query_bind(scriptlang_t *s, script_t *scr, char *query_name, void *handler);
+script_query_t *script_query_bind(scriptlang_t *s, script_t *scr, char *qname, void *handler);
 script_var_t *script_var_add(scriptlang_t *s, script_t *scr, char *name, char *value, void *handler);
 script_watch_t *script_watch_add(scriptlang_t *s, script_t *scr, int fd, int type, void *handler, void *data);
 script_plugin_t *script_plugin_init(scriptlang_t *s, script_t *scr, char *name, plugin_class_t pclass, void *handler);

Index: scripts.c
===================================================================
RCS file: /home/cvs/ekg2/ekg/scripts.c,v
diff -d -u -r1.37 -r1.38
--- scripts.c	17 Mar 2007 20:21:47 -0000	1.37
+++ scripts.c	3 May 2007 13:30:45 -0000	1.38
@@ -22,6 +22,8 @@
 #include "stuff.h"	/* timer */
 #include "vars.h"	/* vars */
 
+#include "queries.h"
+
 /* TODO && BUGS 
  * - cleanup.
  * - multiple handler for commands && var_changed. 
@@ -618,83 +620,64 @@
 	SCRIPT_BIND_FOOTER(script_watches);
 }
 
-script_query_t *script_query_bind(scriptlang_t *s, script_t *scr, char *query_name, void *handler)
+script_query_t *script_query_bind(scriptlang_t *s, script_t *scr, char *qname, void *handler)
 {
 	SCRIPT_BIND_HEADER(script_query_t);
 /* argc i argv_type uzupelnic... z czego ? xstrcmp() ?  */
-#define CHECK(x) if (!xstrcmp(query_name, x)) 
-#define CHECK_(x) if (!xstrncmp(query_name, x, xstrlen(x)))
+#define CHECK(x) if (!xstrcmp(qname, x)) 
+#define CHECK_(x) if (!xstrncmp(qname, x, xstrlen(x)))
 #define NEXT_ARG(y) temp->argv_type[temp->argc] = y; temp->argc++;
 
 /* PROTOCOL */
-	CHECK("protocol-disconnected")      { NEXT_ARG(SCR_ARG_CHARP);	} /* XXX */
-	else CHECK("protocol-connected")    { NEXT_ARG(SCR_ARG_CHARP);	} /* XXX */
-	else CHECK("protocol-status")       { NEXT_ARG(SCR_ARG_CHARP); 
-					      NEXT_ARG(SCR_ARG_CHARP); 
-					      NEXT_ARG(SCR_ARG_CHARP); 
-					      NEXT_ARG(SCR_ARG_CHARP);	}
-	else CHECK("protocol-message")      { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARPP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-/*					      NEXT_ARG(SCR_ARG_UNITPP); */
-					      NEXT_ARG(SCR_ARG_INT);	/* time_t */
-					      NEXT_ARG(SCR_ARG_INT);	}
-	else CHECK("protocol-message-post")      { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARPP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-/*					      NEXT_ARG(SCR_ARG_UNITPP); */
-					      NEXT_ARG(SCR_ARG_INT);	/* time_t */
-					      NEXT_ARG(SCR_ARG_INT);	}
-	else CHECK("protocol-message-received") { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARPP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-/*					      NEXT_ARG(SCR_ARG_UNITPP); */
-					      NEXT_ARG(SCR_ARG_INT);	/* time_t */
-					      NEXT_ARG(SCR_ARG_INT);	}
-	else CHECK("protocol-message-sent") { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);  }
-	else CHECK("protocol-validate-uid") { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_INT);	} 
-/* USERLIST */
-	else CHECK("userlist-added")	    { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP); 
-					      NEXT_ARG(SCR_ARG_INT);	}
-	else CHECK("userlist-changed")      { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);	}
-	else CHECK("variable-changed")	    { NEXT_ARG(SCR_ARG_CHARP);	}
-/* UI */
-	else CHECK("ui-keypress")	    { NEXT_ARG(SCR_ARG_INT); 	}
-	else CHECK("ui-is-initialized")	    { NEXT_ARG(SCR_ARG_INT); 	}
-	else CHECK("ui-window-new")	    { NEXT_ARG(SCR_ARG_WINDOW); }
-	else CHECK("ui-window-switch")	    { NEXT_ARG(SCR_ARG_WINDOW); }
-	else CHECK("ui-window-print")	    { NEXT_ARG(SCR_ARG_WINDOW); 
-					      NEXT_ARG(SCR_ARG_FSTRING);}
+	CHECK("protocol-disconnected")      { NEXT_ARG(QUERY_ARG_CHARP);	}
+	else CHECK("protocol-status")       { NEXT_ARG(QUERY_ARG_CHARP); 
+					      NEXT_ARG(QUERY_ARG_CHARP); 
+					      NEXT_ARG(QUERY_ARG_CHARP); 		/* XXX, need hacks */
+					      NEXT_ARG(QUERY_ARG_CHARP);	}
+	else CHECK("protocol-message")      { NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARPP);
+					      NEXT_ARG(QUERY_ARG_CHARP);
+/*					      NEXT_ARG(QUERY_ARG_UNITPP); */
+					      NEXT_ARG(QUERY_ARG_INT);	/* time_t */
+					      NEXT_ARG(QUERY_ARG_INT);	}
+	else CHECK("protocol-message-post") { NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARPP);
+					      NEXT_ARG(QUERY_ARG_CHARP);
+/*					      NEXT_ARG(QUERY_ARG_UNITPP); */
+					      NEXT_ARG(QUERY_ARG_INT);	/* time_t */
+					      NEXT_ARG(QUERY_ARG_INT);	}
+	else CHECK("protocol-message-received") { NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARPP);
+					      NEXT_ARG(QUERY_ARG_CHARP);
+/*					      NEXT_ARG(QUERY_ARG_UNITPP); */
+					      NEXT_ARG(QUERY_ARG_INT);	/* time_t */
+					      NEXT_ARG(QUERY_ARG_INT);	}
+	else CHECK("protocol-message-sent") { NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARP);  }
 /* IRC */
-	else CHECK("irc-kick")		    { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);	}
-	else CHECK("irc-protocol-message")  { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_INT);
-					      NEXT_ARG(SCR_ARG_INT);
-					      NEXT_ARG(SCR_ARG_INT);
-					      NEXT_ARG(SCR_ARG_CHARP);  }
-	else CHECK_("irc-protocol-numeric") { NEXT_ARG(SCR_ARG_CHARP);
-					      NEXT_ARG(SCR_ARG_CHARPP);	}
+	else CHECK_("irc-protocol-numeric") { NEXT_ARG(QUERY_ARG_CHARP);
+					      NEXT_ARG(QUERY_ARG_CHARPP);	}
 /* other */
-	else                                {                           }
+	else {
+		int i;
+		for (i = 0; i < QUERY_EXTERNAL; i++) {
+			if (!xstrcmp(qname, (query_name(i)))) {
+				/* XXX */
+				debug_error("XXX %s; %d\n", qname, i);
+				break;
+			}
+		}
+	}
 
 #undef CHECK
 #undef CHECK_
 #undef NEXT_ARG
 
-	temp->self = query_connect(s->plugin, query_name, script_query_handlers, temp);
+	temp->self = query_connect(s->plugin, qname, script_query_handlers, temp);
 	SCRIPT_BIND_FOOTER(script_queries);
 }
 


Więcej informacji o liście dyskusyjnej ekg2-commit