libpurple: Drop DBus example plugins

Tue, 02 Oct 2018 16:25:48 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Tue, 02 Oct 2018 16:25:48 -0500
changeset 39348
575c76975ad6
parent 39347
46b9615d1b08
child 39349
c28414267b99

libpurple: Drop DBus example plugins

libpurple/plugins/dbus-buddyicons-example.py file | annotate | diff | comparison | revisions
libpurple/plugins/dbus-example.c file | annotate | diff | comparison | revisions
libpurple/plugins/meson.build file | annotate | diff | comparison | revisions
po/POTFILES.in file | annotate | diff | comparison | revisions
--- a/libpurple/plugins/dbus-buddyicons-example.py	Tue Oct 02 16:23:35 2018 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-#
-# Print the aliases of buddies who have a buddy-icon set.
-#
-# Purple is the legal property of its developers, whose names are too numerous
-# to list here.  Please refer to the COPYRIGHT file distributed with this
-# source distribution.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
-#
-
-from __future__ import absolute_import, division, print_function
-
-import dbus
-
-
-bus = dbus.SessionBus()
-obj = bus.get_object("im.pidgin.purple.PurpleService",
-                     "/im/pidgin/purple/PurpleObject")
-purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")
-
-node = purple.PurpleBlistGetRoot()
-while node != 0:
-    if purple.PurpleBlistNodeIsBuddy(node):
-        icon = purple.PurpleBuddyGetIcon(node)
-        if icon != 0:
-            print(purple.PurpleBuddyGetAlias(node))
-    node = purple.PurpleBlistNodeNext(node, 0)
--- a/libpurple/plugins/dbus-example.c	Tue Oct 02 16:23:35 2018 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
- *   This is an example of a purple dbus plugin.  After enabling this
- *   plugin, the following commands should work from the command line:
- *
- *   prompt$ purple-send DbusExampleGetHelloObject
- *
- *     returns, say: int32 74
- *
- *   prompt$ purple-send DbusExampleGetText int32:74
- *
- *     returns: string "Hello."
- *
- *   prompt$ purple-send DbusExampleSetText int32:74 string:Bye!
- *
- *   prompt$ purple-send DbusExampleGetText int32:74
- *
- *     returns: string "Bye!"
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-
-/* When writing a third-party plugin, do not include libpurple's internal.h
- * included below. This file is for internal libpurple use only. We're including
- * it here for our own convenience. */
-#include "internal.h"
-
-/* This file defines PURPLE_PLUGINS and includes all the libpurple headers */
-#include <purple.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define DBUS_API_SUBJECT_TO_CHANGE
-#include "dbus-maybe.h"
-#include "dbus-bindings.h"
-
-typedef struct {
-	char *text;
-} PurpleText;
-
-/* This makes the structure PurpleText visible to the purple-dbus type
-   system.  It defines PurpleText as a type with no parent.  From now
-   on, we will be able to register pointers to structures of this
-   type.  You to dbus-define types you want to be directly accessible
-   by external applications. */
-PURPLE_DBUS_DEFINE_TYPE(PurpleText)
-
-/* Here we make four functions accessible to other applications by
-   DBus.  These functions can access types defined in purple proper
-   (PurpleBuddy) as well as the types defined in the plugin (PurpleText).  */
-DBUS_EXPORT PurpleText* dbus_example_get_hello_object(void);
-DBUS_EXPORT void dbus_example_set_text(PurpleText *obj, const char *text);
-DBUS_EXPORT const char *dbus_example_get_text(PurpleText *obj);
-DBUS_EXPORT const char *dbus_example_get_buddy_name(PurpleBuddy *buddy);
-
-/* This file has been generated by the #dbus-analize-functions.py
-   script.  It contains dbus wrappers for the four functions declared
-   above. */
-#include "dbus-example-bindings.ch"
-
-/* This is the PurpleText object we want to make publicly visible. */
-static PurpleText hello;
-
-/* Here come the definitions of the four exported functions. */
-DBUS_EXPORT PurpleText* dbus_example_get_hello_object(void)
-{
-	return &hello;
-}
-
-DBUS_EXPORT void dbus_example_set_text(PurpleText *obj, const char *text)
-{
-	if (obj != NULL) {
-		g_free(obj->text);
-		obj->text = g_strdup(text);
-	}
-}
-
-DBUS_EXPORT const char *dbus_example_get_text(PurpleText *obj)
-{
-	if (obj != NULL)
-		return obj->text;
-	else
-		return NULL;
-}
-
-DBUS_EXPORT const char *dbus_example_get_buddy_name(PurpleBuddy *buddy)
-{
-	return purple_buddy_get_name(buddy);
-}
-
-/* And now standard plugin stuff */
-
-static PurplePluginInfo *
-plugin_query(GError **error)
-{
-	const gchar * const authors[] = {
-		"Piotr Zielinski (http://cl.cam.ac.uk/~pz215)",
-		NULL
-	};
-
-	return purple_plugin_info_new(
-		"id",           "dbus-example",
-		"name",         N_("DBus Example"),
-		"version",      DISPLAY_VERSION,
-		"category",     N_("Example"),
-		"summary",      N_("DBus Plugin Example"),
-		"description",  N_("DBus Plugin Example"),
-		"authors",      authors,
-		"website",      PURPLE_WEBSITE,
-		"abi-version",  PURPLE_ABI_VERSION,
-		NULL
-	);
-}
-
-static gboolean
-plugin_load(PurplePlugin *plugin, GError **error)
-{
-	PURPLE_DBUS_RETURN_FALSE_IF_DISABLED(plugin);
-
-	/* First, we have to register our four exported functions with the
-	   main purple dbus loop.  Without this statement, the purple dbus
-	   code wouldn't know about our functions. */
-	PURPLE_DBUS_REGISTER_BINDINGS(plugin);
-
-	/* Then, we register the hello object of type PurpleText.  Note that
-	   pointer registrations / unregistrations are completely dynamic;
-	   they don't have to be made when the plugin is loaded /
-	   unloaded.  Without this statement the dbus purple code wouldn't
-	   know about the hello object.  */
-	PURPLE_DBUS_REGISTER_POINTER(&hello, PurpleText);
-
-	hello.text = g_strdup("Hello.");
-
-	return TRUE;
-}
-
-
-static gboolean
-plugin_unload(PurplePlugin *plugin, GError **error)
-{
-	g_free(hello.text);
-
-	/* It is necessary to unregister all pointers registered by the module. */
-	PURPLE_DBUS_UNREGISTER_POINTER(&hello);
-
-	return TRUE;
-}
-
-PURPLE_PLUGIN_INIT(dbus_example, plugin_query, plugin_load, plugin_unload);
--- a/libpurple/plugins/meson.build	Tue Oct 02 16:23:35 2018 -0500
+++ b/libpurple/plugins/meson.build	Tue Oct 02 16:25:48 2018 -0500
@@ -77,17 +77,4 @@
 		dependencies : [libpurple_dep],
 		name_prefix : '',
 	)
-
-	if enable_dbus
-		dbus_example_bindings_c = custom_target('dbus_example_bindings_c',
-		    input : 'dbus-example.c',
-		    output : 'dbus-example-bindings.ch',
-		    command : [python,
-		               meson.source_root() + '/libpurple/dbus-analyze-functions.py',
-		               '--export-only', '-o', '@OUTPUT@', '@INPUT@'])
-
-		dbus_example = library('dbus-example', 'dbus-example.c', dbus_example_bindings_c,
-		    dependencies : [libpurple_dep, dbus],
-		    name_prefix : '')
-	endif  # enable_dbus
 endif  # PLUGINS
--- a/po/POTFILES.in	Tue Oct 02 16:23:35 2018 -0500
+++ b/po/POTFILES.in	Tue Oct 02 16:25:48 2018 -0500
@@ -57,7 +57,6 @@
 libpurple/plugins.c
 libpurple/plugins/autoaccept.c
 libpurple/plugins/buddynote.c
-libpurple/plugins/dbus-example.c
 libpurple/plugins/filectl.c
 libpurple/plugins/idle.c
 libpurple/plugins/joinpart.c

mercurial