[PATCH BlueZ] build: Remove obexd usb plugin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>

This plugin is not longer maintained and used to work only in meego
times.
---
 Makefile.obexd      |   5 -
 obexd/plugins/usb.c | 299 ----------------------------------------------------
 2 files changed, 304 deletions(-)
 delete mode 100644 obexd/plugins/usb.c

diff --git a/Makefile.obexd b/Makefile.obexd
index 9498ac1..e6536bc 100644
--- a/Makefile.obexd
+++ b/Makefile.obexd
@@ -11,11 +11,6 @@ obexd_builtin_sources += obexd/plugins/filesystem.c obexd/plugins/filesystem.h
 obexd_builtin_modules += bluetooth
 obexd_builtin_sources += obexd/plugins/bluetooth.c
 
-if USB
-obexd_builtin_modules += usb
-obexd_builtin_sources += obexd/plugins/usb.c
-endif
-
 if EXPERIMENTAL
 obexd_builtin_modules += pcsuite
 obexd_builtin_sources += obexd/plugins/pcsuite.c
diff --git a/obexd/plugins/usb.c b/obexd/plugins/usb.c
deleted file mode 100644
index 1c3da3e..0000000
--- a/obexd/plugins/usb.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- *
- *  OBEX Server
- *
- *  Copyright (C) 2007-2010  Nokia Corporation
- *  Copyright (C) 2007-2010  Marcel Holtmann <marcel@xxxxxxxxxxxx>
- *
- *
- *  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 St, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <inttypes.h>
-
-#include <glib.h>
-#include <gdbus/gdbus.h>
-
-#include "obexd.h"
-#include "plugin.h"
-#include "server.h"
-#include "obex.h"
-#include "transport.h"
-#include "service.h"
-#include "log.h"
-
-static GIOChannel *usb_io = NULL;
-static guint usb_reconnecting = 0;
-static guint usb_watch = 0;
-static DBusConnection *connection = NULL;
-
-#define USB_RX_MTU 65535
-#define USB_TX_MTU 65535
-#define USB_DEVNODE "/dev/ttyGS0"
-
-static int usb_connect(struct obex_server *server);
-
-static void usb_disconnect(struct obex_server *server)
-{
-	if (usb_reconnecting > 0) {
-		g_source_remove(usb_reconnecting);
-		usb_reconnecting = 0;
-	}
-
-	if (usb_watch > 0) {
-		g_source_remove(usb_watch);
-		usb_watch = 0;
-	}
-
-	/* already disconnected */
-	if (usb_io == NULL)
-		return;
-
-	g_io_channel_shutdown(usb_io, TRUE, NULL);
-	g_io_channel_unref(usb_io);
-	usb_io = NULL;
-	DBG("disconnected");
-}
-
-static gboolean usb_reconnect(void *data)
-{
-	struct obex_server *server = data;
-
-	DBG("reconnecting");
-	usb_reconnecting = 0;
-	usb_connect(server);
-
-	return FALSE;
-}
-
-static gboolean usb_watchdog(GIOChannel *io, GIOCondition cond,
-				void *user_data)
-{
-	struct obex_server *server = user_data;
-
-	usb_watch = 0;
-	usb_disconnect(server);
-
-	if ((cond & G_IO_NVAL) == FALSE)
-		usb_reconnecting = g_idle_add(usb_reconnect, server);
-
-	return FALSE;
-}
-
-static int usb_connect(struct obex_server *server)
-{
-	struct termios options;
-	int fd, err, arg;
-	glong flags;
-
-	if (usb_reconnecting > 0) {
-		g_source_remove(usb_reconnecting);
-		usb_reconnecting = 0;
-	}
-
-	/* already connected */
-	if (usb_io != NULL)
-		return 0;
-
-	fd = open(USB_DEVNODE, O_RDWR | O_NOCTTY);
-	if (fd < 0)
-		return fd;
-
-	flags = fcntl(fd, F_GETFL);
-	fcntl(fd, F_SETFL, flags & ~O_NONBLOCK);
-
-	tcgetattr(fd, &options);
-	cfmakeraw(&options);
-	options.c_oflag &= ~ONLCR;
-	tcsetattr(fd, TCSANOW, &options);
-
-	arg = fcntl(fd, F_GETFL);
-	if (arg < 0) {
-		err = -errno;
-		goto failed;
-	}
-
-	arg |= O_NONBLOCK;
-	if (fcntl(fd, F_SETFL, arg) < 0) {
-		err = -errno;
-		goto failed;
-	}
-
-	usb_io = g_io_channel_unix_new(fd);
-	g_io_channel_set_close_on_unref(usb_io, TRUE);
-
-	err = obex_server_new_connection(server, usb_io, USB_TX_MTU,
-							USB_RX_MTU, TRUE);
-	if (err < 0)
-		goto failed;
-
-	usb_watch = g_io_add_watch(usb_io, G_IO_HUP | G_IO_ERR | G_IO_NVAL,
-					usb_watchdog, server);
-
-	DBG("Successfully opened %s", USB_DEVNODE);
-
-	return 0;
-
-failed:
-	error("usb: %s (%d)", strerror(-err), -err);
-	if (usb_io == NULL)
-		close(fd);
-	else
-		usb_disconnect(server);
-	return err;
-}
-
-static void sig_usb(int sig)
-{
-}
-
-static void usb_set_mode(struct obex_server *server, const char *mode)
-{
-	DBG("%s", mode);
-
-	if (g_str_equal(mode, "ovi_suite") == TRUE)
-		usb_connect(server);
-	else if (g_str_equal(mode, "USB disconnected") == TRUE)
-		usb_disconnect(server);
-}
-
-static gboolean handle_signal(DBusConnection *connection,
-				DBusMessage *message, void *user_data)
-{
-	struct obex_server *server = user_data;
-	const char *mode;
-
-	dbus_message_get_args(message, NULL,
-				DBUS_TYPE_STRING, &mode,
-				DBUS_TYPE_INVALID);
-
-	usb_set_mode(server, mode);
-
-	return TRUE;
-}
-
-static void usb_stop(void *data)
-{
-	guint id = GPOINTER_TO_UINT(data);
-	g_dbus_remove_watch(connection, id);
-}
-
-static void mode_request_reply(DBusPendingCall *call, void *user_data)
-{
-	struct obex_server *server = user_data;
-	DBusMessage *reply = dbus_pending_call_steal_reply(call);
-	DBusError derr;
-
-	dbus_error_init(&derr);
-	if (dbus_set_error_from_message(&derr, reply)) {
-		error("usb: Replied with an error: %s, %s",
-				derr.name, derr.message);
-		dbus_error_free(&derr);
-	} else {
-		const char *mode;
-		dbus_message_get_args(reply, NULL,
-				DBUS_TYPE_STRING, &mode,
-				DBUS_TYPE_INVALID);
-
-		usb_set_mode(server, mode);
-	}
-
-	dbus_message_unref(reply);
-}
-
-static void *usb_start(struct obex_server *server, int *err)
-{
-	guint id;
-	DBusMessage *msg;
-	DBusPendingCall *call;
-
-	msg = dbus_message_new_method_call("com.meego.usb_moded",
-						"/com/meego/usb_moded",
-						"com.meego.usb_moded",
-						"mode_request");
-
-	if (dbus_connection_send_with_reply(connection,
-					msg, &call, -1) == FALSE) {
-		error("usb: unable to send mode_request");
-		dbus_message_unref(msg);
-		goto fail;
-	}
-
-	dbus_pending_call_set_notify(call, mode_request_reply, server, NULL);
-	dbus_pending_call_unref(call);
-	dbus_message_unref(msg);
-
-	id = g_dbus_add_signal_watch(connection, NULL, NULL,
-					"com.meego.usb_moded",
-					"sig_usb_state_ind",
-					handle_signal, server, NULL);
-
-	if (err != NULL)
-		*err = 0;
-
-	return GUINT_TO_POINTER(id);
-
-fail:
-	if (err != NULL)
-		*err = -1;
-
-	return NULL;
-}
-
-static struct obex_transport_driver driver = {
-	.name = "usb",
-	.service = OBEX_PCSUITE,
-	.start = usb_start,
-	.stop = usb_stop
-};
-
-static int usb_init(void)
-{
-	struct sigaction sa;
-
-	memset(&sa, 0, sizeof(sa));
-	sa.sa_handler = sig_usb;
-	sigaction(SIGUSR1, &sa, NULL);
-	sigaction(SIGHUP, &sa, NULL);
-
-	connection = g_dbus_setup_private(DBUS_BUS_SYSTEM, NULL, NULL);
-	if (connection == NULL)
-		return -EPERM;
-
-	return obex_transport_driver_register(&driver);
-}
-
-static void usb_exit(void)
-{
-	if (connection)
-		dbus_connection_unref(connection);
-
-	obex_transport_driver_unregister(&driver);
-}
-
-OBEX_PLUGIN_DEFINE(usb, usb_init, usb_exit)
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux