Made everything nicer :-)
authorHarvie <tomas@mudrunka.cz>
Wed, 2 Jun 2010 23:37:53 +0000 (01:37 +0200)
committerHarvie <tomas@mudrunka.cz>
Wed, 2 Jun 2010 23:37:53 +0000 (01:37 +0200)
Makefile
TODO
answerscripts.c

index 160e3d0..6d8870e 100644 (file)
--- 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 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,3 @@
 TODO:
-  * process everything asynchronously
+       * documentation
        * more example scripts (user contributions welcome)
index df61a27..f33741a 100755 (executable)
@@ -1,15 +1,13 @@
+//#define __WIN32__
 #define PURPLE_PLUGINS
 
 /* Purple headers */
 #include <libpurple/debug.h>
 #include <libpurple/version.h>
 #include <libpurple/conversation.h>
-#include <libpurple/debug.h>
-#include <libpurple/log.h>
+//#include <libpurple/log.h>
 #include <libpurple/plugin.h>
-#include <libpurple/pluginpref.h>
-#include <libpurple/prefs.h>
-#include <libpurple/signals.h>
+//#include <libpurple/signals.h>
 #include <libpurple/util.h>
 #include <libpurple/notify.h>
 
 #include <stdlib.h>
 #include <errno.h>
 
-#define ANSWERSCRIPT "answerscripts.exe"
-#define ANSWERSCRIPTS_TIMEOUT_INTERVAL 250
-#define ANSWERSCRIPTS_LINE_LENGTH 4096
-
-//#define __WIN32__
-
 #ifndef __WIN32__
        #include <fcntl.h>
 #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 = {
This page took 0.150179 seconds and 4 git commands to generate.