pidgin/pidgin

9918b8ed5203
Parents 3da74e727e78
Children 2ee19fb5fb0d
facebook: Use generic marshaller for GObject signals

Since 2.30 it's been possible to use a default c_marshaller by
passing NULL to g_signal_new(). It has since become the recommended
way of creating signals.
https://developer.gnome.org/gobject/stable/howto-signals.html

This patch ports the Facebook prpl to use this method instead
of generating its own marshallers with glib-genmarshal.
--- a/.hgignore Thu Jun 01 19:59:58 2017 -0500
+++ b/.hgignore Sun Jun 04 22:05:28 2017 -0500
@@ -77,7 +77,6 @@
libpurple/data/purple-url-handler.desktop.in$
libpurple/marshallers.[ch]
libpurple/plugins/dbus-example-bindings.c
-libpurple/protocols/facebook/marshal.[ch]
libpurple/purple-client-bindings.[ch]
libpurple/purple-client-example
libpurple/purple.h$
--- a/libpurple/protocols/facebook/Makefile.am Thu Jun 01 19:59:58 2017 -0500
+++ b/libpurple/protocols/facebook/Makefile.am Sun Jun 04 22:05:28 2017 -0500
@@ -1,12 +1,9 @@
EXTRA_DIST = \
- Makefile.mingw \
- marshaller.list
+ Makefile.mingw
pkgdir = @PURPLE_PLUGINDIR@
FACEBOOKSOURCES = \
- marshal.c \
- marshal.h \
api.c \
api.h \
data.c \
@@ -25,17 +22,6 @@
util.c \
util.h
-CLEANFILES = \
- marshal.c \
- marshal.h
-
-marshal.c: $(srcdir)/marshaller.list marshal.h
- $(AM_V_GEN)echo "#include \"marshal.h\"" > $@
- $(AM_V_at)$(GLIB_GENMARSHAL) --prefix=fb_marshal --body $(srcdir)/marshaller.list >> $@
-
-marshal.h: $(srcdir)/marshaller.list
- $(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=fb_marshal --header $(srcdir)/marshaller.list > $@
-
AM_CFLAGS = $(st)
libfacebook_la_LDFLAGS = -module @PLUGIN_LDFLAGS@
--- a/libpurple/protocols/facebook/Makefile.mingw Thu Jun 01 19:59:58 2017 -0500
+++ b/libpurple/protocols/facebook/Makefile.mingw Sun Jun 04 22:05:28 2017 -0500
@@ -42,7 +42,6 @@
## SOURCES, OBJECTS
##
C_SRC = \
- marshal.c \
api.c \
data.c \
facebook.c \
@@ -85,18 +84,11 @@
$(TARGET).dll: $(PURPLE_DLL).a $(OBJECTS)
$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll
-marshal.c: marshaller.list marshal.h
- @echo "#include \"marshal.h\"" > $@
- @$(GLIB_GENMARSHAL) --prefix=fb_marshal --body marshaller.list >> $@
-
-marshal.h: marshaller.list
- @$(GLIB_GENMARSHAL) --prefix=fb_marshal --header marshaller.list > $@
-
##
## CLEAN RULES
##
clean:
- rm -f $(OBJECTS) marshal.c marshal.h
+ rm -f $(OBJECTS)
rm -f $(TARGET).dll
include $(PIDGIN_COMMON_TARGETS)
--- a/libpurple/protocols/facebook/api.c Thu Jun 01 19:59:58 2017 -0500
+++ b/libpurple/protocols/facebook/api.c Sun Jun 04 22:05:28 2017 -0500
@@ -28,7 +28,6 @@
#include "api.h"
#include "http.h"
#include "json.h"
-#include "marshal.h"
#include "thrift.h"
#include "util.h"
@@ -287,8 +286,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__VOID,
+ NULL, NULL, NULL,
G_TYPE_NONE,
0);
@@ -303,8 +301,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__VOID,
+ NULL, NULL, NULL,
G_TYPE_NONE,
0);
@@ -320,8 +317,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__POINTER,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_POINTER);
@@ -341,8 +337,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__POINTER_BOOLEAN,
+ NULL, NULL, NULL,
G_TYPE_NONE,
2, G_TYPE_POINTER, G_TYPE_BOOLEAN);
@@ -358,8 +353,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__OBJECT,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_ERROR);
@@ -374,8 +368,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__POINTER,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_POINTER);
@@ -390,8 +383,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__POINTER,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_POINTER);
@@ -406,8 +398,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__POINTER,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_POINTER);
@@ -423,8 +414,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__POINTER,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_POINTER);
@@ -441,8 +431,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__INT64,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, FB_TYPE_ID);
@@ -458,8 +447,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__POINTER,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_POINTER);
@@ -474,8 +462,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__POINTER,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_POINTER);
}
--- a/libpurple/protocols/facebook/marshaller.list Thu Jun 01 19:59:58 2017 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-VOID:INT64
-VOID:OBJECT
-VOID:POINTER
-VOID:POINTER,BOOLEAN
-VOID:STRING,BOXED
-VOID:VOID
--- a/libpurple/protocols/facebook/mqtt.c Thu Jun 01 19:59:58 2017 -0500
+++ b/libpurple/protocols/facebook/mqtt.c Sun Jun 04 22:05:28 2017 -0500
@@ -31,7 +31,6 @@
#include "purple-gio.h"
#include "queuedoutputstream.h"
-#include "marshal.h"
#include "mqtt.h"
#include "util.h"
@@ -97,8 +96,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__VOID,
+ NULL, NULL, NULL,
G_TYPE_NONE,
0);
@@ -114,8 +112,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__OBJECT,
+ NULL, NULL, NULL,
G_TYPE_NONE,
1, G_TYPE_ERROR);
@@ -131,8 +128,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__VOID,
+ NULL, NULL, NULL,
G_TYPE_NONE,
0);
@@ -148,8 +144,7 @@
G_TYPE_FROM_CLASS(klass),
G_SIGNAL_ACTION,
0,
- NULL, NULL,
- fb_marshal_VOID__STRING_BOXED,
+ NULL, NULL, NULL,
G_TYPE_NONE,
2, G_TYPE_STRING, G_TYPE_BYTE_ARRAY);
}