From: Harvie Date: Wed, 2 Jun 2010 23:37:53 +0000 (+0200) Subject: Made everything nicer :-) X-Git-Url: http://git.harvie.cz/?p=mirrors%2Flibpurple-core-answerscripts.git;a=commitdiff_plain;h=73f7c2fffd59e46e1f1b47128e7133036f991099;hp=81749a99b121cd58a5a63185576e0820fcb1ebea Made everything nicer :-) --- diff --git a/Makefile b/Makefile index 160e3d0..6d8870e 100644 --- a/Makefile +++ b/Makefile @@ -24,32 +24,29 @@ LIBTOOL := libtool ifeq ($(PREFIX),) LIB_INSTALL_DIR = $(HOME)/.purple/plugins else - LIB_INSTALL_DIR = $(PREFIX)/lib/pidgin + LIB_INSTALL_DIR = $(PREFIX)/lib/purple-2/ endif -PIDGIN_AUTOANSWER = answerscripts +PLUGIN_NAME = answerscripts -PIDGIN_CFLAGS = $(shell pkg-config pidgin --cflags) -GTK_CFLAGS = $(shell pkg-config gtk+-2.0 --cflags) -PIDGIN_LIBS = $(shell pkg-config pidgin --libs) -GTK_LIBS = $(shell pkg-config gtk+-2.0 --libs) -PIDGIN_LIBDIR = $(shell pkg-config --variable=libdir pidgin)/pidgin +PURPLE_CFLAGS = $(shell pkg-config purple --cflags) +PURPLE_LIBS = $(shell pkg-config purple --libs) -all: $(PIDGIN_AUTOANSWER).so +all: $(PLUGIN_NAME).so install: all mkdir -p $(LIB_INSTALL_DIR) - cp $(PIDGIN_AUTOANSWER).so $(LIB_INSTALL_DIR) + cp $(PLUGIN_NAME).so $(LIB_INSTALL_DIR) -$(PIDGIN_AUTOANSWER).so: $(PIDGIN_AUTOANSWER).o - $(CC) -shared $(CFLAGS) $< -o $@ $(PIDGIN_LIBS) $(GTK_LIBS) -Wl,--export-dynamic -Wl,-soname +$(PLUGIN_NAME).so: $(PLUGIN_NAME).o + $(CC) -shared $(CFLAGS) $< -o $@ $(PURPLE_LIBS) $(GTK_LIBS) -Wl,--export-dynamic -Wl,-soname -$(PIDGIN_AUTOANSWER).o:$(PIDGIN_AUTOANSWER).c - $(CC) $(CFLAGS) -fPIC -c $< -o $@ $(PIDGIN_CFLAGS) $(GTK_CFLAGS) -DHAVE_CONFIG_H +$(PLUGIN_NAME).o:$(PLUGIN_NAME).c + $(CC) $(CFLAGS) -fPIC -c $< -o $@ $(PURPLE_CFLAGS) $(GTK_CFLAGS) -DHAVE_CONFIG_H clean: rm -rf *.o *.c~ *.h~ *.so *.la .libs user: cp -r purple/* $(HOME)/.purple/ - mv $(HOME)/.purple/$(PIDGIN_AUTOANSWER).sh $(HOME)/.purple/$(PIDGIN_AUTOANSWER).exe + mv $(HOME)/.purple/$(PLUGIN_NAME).sh $(HOME)/.purple/$(PLUGIN_NAME).exe diff --git a/TODO b/TODO index e9841ee..49b11b4 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,3 @@ TODO: - * process everything asynchronously + * documentation * more example scripts (user contributions welcome) diff --git a/answerscripts.c b/answerscripts.c index df61a27..f33741a 100755 --- a/answerscripts.c +++ b/answerscripts.c @@ -1,15 +1,13 @@ +//#define __WIN32__ #define PURPLE_PLUGINS /* Purple headers */ #include #include #include -#include -#include +//#include #include -#include -#include -#include +//#include #include #include @@ -17,16 +15,14 @@ #include #include -#define ANSWERSCRIPT "answerscripts.exe" -#define ANSWERSCRIPTS_TIMEOUT_INTERVAL 250 -#define ANSWERSCRIPTS_LINE_LENGTH 4096 - -//#define __WIN32__ - #ifndef __WIN32__ #include #endif +#define ANSWERSCRIPT "answerscripts.exe" +#define ANSWERSCRIPTS_TIMEOUT_INTERVAL 250 +#define ANSWERSCRIPTS_LINE_LENGTH 4096 + char *buff = NULL; char *hook_script = NULL; char response[ANSWERSCRIPTS_LINE_LENGTH+1]; @@ -56,11 +52,8 @@ int answerscripts_process_message_cb(answerscripts_job *job) { return 0; } -static void -received_im_msg_cb(PurpleAccount *account, char *who, char *buffer, PurpleConversation *conv, PurpleMessageFlags flags, void *data) { - - /* A workaround to avoid skipping of the first message as a result on NULL-conv: */ - if (conv == NULL) conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, who); +static void received_im_msg_cb(PurpleAccount *account, char *who, char *buffer, PurpleConversation *conv, PurpleMessageFlags flags, void *data) { + if (conv == NULL) conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, who); //* A workaround to avoid skipping of the first message as a result on NULL-conv: */ buff = purple_markup_strip_html(buffer); //printf("\nHarvie received: %s: %s\n", who, buff); //debug @@ -80,24 +73,19 @@ received_im_msg_cb(PurpleAccount *account, char *who, char *buffer, PurpleConver #endif purple_timeout_add(ANSWERSCRIPTS_TIMEOUT_INTERVAL, (GSourceFunc) answerscripts_process_message_cb, (gpointer) job); - } static gboolean plugin_load(PurplePlugin * plugin) { asprintf(&hook_script,"%s/%s",purple_user_dir(),ANSWERSCRIPT); - void *conv_handle = purple_conversations_get_handle(); - - purple_signal_connect(conv_handle, "received-im-msg", - plugin, PURPLE_CALLBACK(received_im_msg_cb), - NULL); - return TRUE; + purple_signal_connect(conv_handle, "received-im-msg", plugin, PURPLE_CALLBACK(received_im_msg_cb), NULL); + return 0; } static gboolean plugin_unload(PurplePlugin * plugin) { free(hook_script); - return TRUE; + return 0; } static PurplePluginInfo info = {