diff options
| -rw-r--r-- | acinclude.m4 | 11 | ||||
| -rw-r--r-- | common/Makefile.am | 15 | ||||
| -rw-r--r-- | common/notify-dummy.c | 44 | ||||
| -rw-r--r-- | common/notify-inotify.c | 165 | ||||
| -rw-r--r-- | common/notify.h | 35 | ||||
| -rw-r--r-- | configure.in | 1 | ||||
| -rw-r--r-- | daemon/adapter.c | 1 | ||||
| -rw-r--r-- | daemon/main.c | 5 | ||||
| -rw-r--r-- | daemon/service.c | 22 | ||||
| -rw-r--r-- | hcid/dbus-service.c | 55 | ||||
| -rw-r--r-- | hcid/main.c | 6 | 
11 files changed, 4 insertions, 356 deletions
| diff --git a/acinclude.m4 b/acinclude.m4 index d9af20b7..1721e0e6 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -138,11 +138,6 @@ AC_DEFUN([AC_PATH_USB], [  		AC_DEFINE(NEED_USB_INTERRUPT_READ, 1, [Define to 1 if you need the usb_interrupt_read() function.]))  ]) -AC_DEFUN([AC_PATH_INOTIFY], [ -	AC_CHECK_LIB(c ,inotify_init, inotify_found=yes, inotify_found=no) -	AC_CHECK_HEADERS(sys/inotify.h, dummy=yes, inotify_found=no) -]) -  AC_DEFUN([AC_PATH_SNDFILE], [  	PKG_CHECK_MODULES(SNDFILE, sndfile, sndfile_found=yes, sndfile_found=no)  	AC_SUBST(SNDFILE_CFLAGS) @@ -154,7 +149,6 @@ AC_DEFUN([AC_ARG_BLUEZ], [  	debug_enable=no  	pie_enable=no  	sndfile_enable=${sndfile_found} -	inotify_enable=${inotify_found}  	usb_enable=${usb_found}  	alsa_enable=${alsa_found}  	glib_enable=no @@ -211,10 +205,6 @@ AC_DEFUN([AC_ARG_BLUEZ], [  		dfubabel_enable=${enableval}  	]) -	AC_ARG_ENABLE(inotify, AC_HELP_STRING([--enable-inotify], [enable inotify support]), [ -		inotify_enable=${enableval} -	]) -  	AC_ARG_ENABLE(usb, AC_HELP_STRING([--enable-usb], [enable USB support]), [  		usb_enable=${enableval}  	]) @@ -343,7 +333,6 @@ AC_DEFUN([AC_ARG_BLUEZ], [  	AC_SUBST([SBC_LIBS], ['$(top_builddir)/sbc/libsbc.la'])  	AM_CONDITIONAL(SNDFILE, test "${sndfile_enable}" = "yes" && test "${sndfile_found}" = "yes") -	AM_CONDITIONAL(INOTIFY, test "${inotify_enable}" = "yes" && test "${inotify_found}" = "yes")  	AM_CONDITIONAL(USB, test "${usb_enable}" = "yes" && test "${usb_found}" = "yes")  	AM_CONDITIONAL(SBC, test "${alsa_enable}" = "yes" || test "${gstreamer_enable}" = "yes")  	AM_CONDITIONAL(ALSA, test "${alsa_enable}" = "yes" && test "${alsa_found}" = "yes") diff --git a/common/Makefile.am b/common/Makefile.am index 7dac6b6a..a90df324 100644 --- a/common/Makefile.am +++ b/common/Makefile.am @@ -1,16 +1,9 @@ -if INOTIFY -notify_sources = notify-inotify.c -else -notify_sources = notify-dummy.c -endif -  noinst_LIBRARIES = libhelper.a -libhelper_a_SOURCES = oui.h oui.c dbus.h dbus.c \ -	textfile.h textfile.c logging.h logging.c \ -	dbus-helper.h dbus-helper.c error.h error.c \ -	glib-helper.h glib-helper.c notify.h $(notify_sources) \ +libhelper_a_SOURCES = oui.h oui.c textfile.h textfile.c \ +	logging.h logging.c error.h error.c dbus.h dbus.c \ +	dbus-helper.h dbus-helper.c glib-helper.h glib-helper.c \  	sdp-xml.h sdp-xml.c sdp-glib.c  noinst_PROGRAMS = test_textfile @@ -19,6 +12,6 @@ test_textfile_LDADD = libhelper.a  AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ -EXTRA_DIST = ppoll.h uinput.h notify-dummy.c notify-inotify.c +EXTRA_DIST = ppoll.h uinput.h  MAINTAINERCLEANFILES = Makefile.in diff --git a/common/notify-dummy.c b/common/notify-dummy.c deleted file mode 100644 index 98fdb621..00000000 --- a/common/notify-dummy.c +++ /dev/null @@ -1,44 +0,0 @@ -/* - * - *  BlueZ - Bluetooth protocol stack for Linux - * - *  Copyright (C) 2006-2008  Marcel Holtmann <marcel@holtmann.org> - * - * - *  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 "notify.h" - -void notify_init(void) -{ -} - -void notify_close(void) -{ -} - -void notify_add(const char *pathname, notify_func func, void *user_data) -{ -} - -void notify_remove(const char *pathname) -{ -} diff --git a/common/notify-inotify.c b/common/notify-inotify.c deleted file mode 100644 index a8a6b193..00000000 --- a/common/notify-inotify.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - * - *  BlueZ - Bluetooth protocol stack for Linux - * - *  Copyright (C) 2006-2008  Marcel Holtmann <marcel@holtmann.org> - * - * - *  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 <unistd.h> -#include <stdlib.h> -#include <string.h> -#include <sys/inotify.h> - -#ifndef IN_ONLYDIR -#define IN_ONLYDIR 0x01000000 -#endif - -#include <glib.h> - -#include "logging.h" -#include "notify.h" - -static GIOChannel *io = NULL; - -static int fd = -1; -static int wd = -1; - -static char *name = NULL; - -static notify_func callback = NULL; - -static gboolean io_event(GIOChannel *chan, GIOCondition cond, gpointer data) -{ -	unsigned char buf[129], *ptr = buf; -	gsize len; -	GIOError err; - -	if (cond & (G_IO_HUP | G_IO_ERR)) -		return FALSE; - -	memset(buf, 0, sizeof(buf)); - -	err = g_io_channel_read(chan, (gchar *) buf, sizeof(buf) - 1, &len); -	if (err != G_IO_ERROR_NONE) { -		if (err == G_IO_ERROR_AGAIN) -			return TRUE; -		error("Reading from inotify channel failed"); -		return FALSE; -	} -		 - -	while (len >= sizeof(struct inotify_event)) { -		struct inotify_event *evt = (struct inotify_event *) ptr; - -		if (evt->wd == wd && callback) { -			if (evt->mask & (IN_CREATE | IN_MOVED_TO)) -				callback(NOTIFY_CREATE, evt->name, NULL); - -			if (evt->mask & (IN_DELETE | IN_MOVED_FROM)) -				callback(NOTIFY_DELETE, evt->name, NULL); - -			if (evt->mask & IN_MODIFY) -				callback(NOTIFY_MODIFY, evt->name, NULL); -		} - -		len -= sizeof(struct inotify_event) + evt->len; -		ptr += sizeof(struct inotify_event) + evt->len; -	} - -	return TRUE; -} - -void notify_init(void) -{ -	if (fd != -1) -		return; - -	fd = inotify_init(); -	if (fd < 0) { -		error("Creation of inotify context failed"); -		return; -	} - -	io = g_io_channel_unix_new(fd); -	if (!io) { -		error("Creation of inotify channel failed"); -		return; -	} - -	g_io_add_watch(io, G_IO_IN | G_IO_ERR | G_IO_HUP, io_event, NULL); -} - -void notify_close(void) -{ -	if (fd == -1) -		return; - -	if (wd != -1) { -		inotify_rm_watch(fd, wd); -		wd = -1; -	} - -	if (io) { -		g_io_channel_unref(io); -		io = NULL; -	} - -	close(fd); -	fd = -1; - -	if (name) { -		free(name); -		name = NULL; -	} -} - -void notify_add(const char *pathname, notify_func func, void *user_data) -{ -	if (fd == -1 || wd != -1) -		return; - -	if (name) -		free(name); - -	name = strdup(pathname); -	if (!name) -		return; - -	wd = inotify_add_watch(fd, pathname, -		IN_ONLYDIR | IN_CREATE | IN_DELETE | IN_MODIFY | IN_MOVE); -	if (wd < 0) -		error("Creation of watch for %s failed", pathname); - -	callback = func; -} - -void notify_remove(const char *pathname) -{ -	if (fd == -1 || wd == -1) -		return; - -	inotify_rm_watch(fd, wd); -	wd = -1; - -	callback = NULL; -} diff --git a/common/notify.h b/common/notify.h deleted file mode 100644 index 50555dc1..00000000 --- a/common/notify.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - *  BlueZ - Bluetooth protocol stack for Linux - * - *  Copyright (C) 2006-2008  Marcel Holtmann <marcel@holtmann.org> - * - * - *  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 - * - */ - -typedef void (*notify_func)(int action, const char *name, void *user_data); - -enum { -	NOTIFY_CREATE, -	NOTIFY_DELETE, -	NOTIFY_MODIFY, -}; - -void notify_init(void); -void notify_close(void); -void notify_add(const char *pathname, notify_func func, void *user_data); -void notify_remove(const char *pathname); diff --git a/configure.in b/configure.in index d5b5e542..91a9a9df 100644 --- a/configure.in +++ b/configure.in @@ -31,7 +31,6 @@ AC_PATH_DBUS  AC_PATH_ALSA  AC_PATH_GSTREAMER  AC_PATH_USB -AC_PATH_INOTIFY  AC_PATH_SNDFILE  AC_ARG_BLUEZ diff --git a/daemon/adapter.c b/daemon/adapter.c index 557e20e2..d8e4c9d4 100644 --- a/daemon/adapter.c +++ b/daemon/adapter.c @@ -29,7 +29,6 @@  #include "dbus-helper.h"  #include "logging.h" -#include "notify.h"  #include "system.h"  #include "adapter.h" diff --git a/daemon/main.c b/daemon/main.c index eedd4dd8..94eba19a 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -40,7 +40,6 @@  #include "dbus-helper.h"  #include "dbus.h" -#include "notify.h"  #include "logging.h"  #include "sdpd.h" @@ -205,8 +204,6 @@ int main(int argc, char *argv[])  	main_loop = g_main_loop_new(NULL, FALSE); -	notify_init(); -  	if (setup_dbus() < 0) {  		g_main_loop_unref(main_loop);  		exit(1); @@ -224,8 +221,6 @@ int main(int argc, char *argv[])  	cleanup_dbus(); -	notify_close(); -  	g_main_loop_unref(main_loop);  	info("Exit"); diff --git a/daemon/service.c b/daemon/service.c index 3cb5071a..27ed2417 100644 --- a/daemon/service.c +++ b/daemon/service.c @@ -35,7 +35,6 @@  #include "dbus-helper.h"  #include "logging.h" -#include "notify.h"  #include "system.h"  #include "service.h" @@ -271,31 +270,12 @@ static DBusMethodVTable service_table[] = {  	{ }  }; -static void config_notify(int action, const char *name, void *data) -{ -	switch (action) { -	case NOTIFY_CREATE: -		debug("File %s/%s created", CONFIGDIR, name); -		break; - -	case NOTIFY_DELETE: -		debug("File %s/%s deleted", CONFIGDIR, name); -		break; - -	case NOTIFY_MODIFY: -		debug("File %s/%s modified", CONFIGDIR, name); -		break; -	} -} -  int service_init(DBusConnection *conn)  {  	connection = dbus_connection_ref(conn);  	info("Starting service framework"); -	notify_add(CONFIGDIR, config_notify, NULL); -  	if (dbus_connection_create_object_path(connection,  				"/org/bluez/service", NULL, NULL) == FALSE) {  		error("Service path registration failed"); @@ -318,8 +298,6 @@ void service_exit(void)  {  	info("Stopping service framework"); -	notify_remove(CONFIGDIR); -  	dbus_connection_unregister_interface(connection,  				"/org/bluez/service", SERVICE_INTERFACE); diff --git a/hcid/dbus-service.c b/hcid/dbus-service.c index 15419cd1..01f07b2f 100644 --- a/hcid/dbus-service.c +++ b/hcid/dbus-service.c @@ -48,7 +48,6 @@  #include "dbus.h"  #include "dbus-helper.h"  #include "hcid.h" -#include "notify.h"  #include "server.h"  #include "dbus-common.h"  #include "dbus-error.h" @@ -957,58 +956,6 @@ static gint service_filename_cmp(struct service *service, const char *filename)  	return strcmp(service->filename, filename);  } -static void service_notify(int action, const char *name, void *user_data) -{ -	GSList *l; -	struct service *service; -	size_t len; -	char fullpath[PATH_MAX]; - -	debug("Received notify event %d for %s", action, name); - -	len = strlen(name); -	if (len < (strlen(SERVICE_SUFFIX) + 1)) -		return; - -	if (strcmp(name + (len - strlen(SERVICE_SUFFIX)), SERVICE_SUFFIX)) -		return; - -	switch (action) { -	case NOTIFY_CREATE: -		debug("%s was created", name); -		snprintf(fullpath, sizeof(fullpath) - 1, "%s/%s", CONFIGDIR, name); -		service = create_service(fullpath); -		if (!service) { -			error("Unable to read %s", fullpath); -			break; -		} - -		if (register_service(service) < 0) { -			error("Unable to register service"); -			service_free(service); -			break; -		} - -		if (service->autostart) -			service_start(service, get_dbus_connection()); - -		break; -	case NOTIFY_DELETE: -		debug("%s was deleted", name); -		l = g_slist_find_custom(services, name, -					(GCompareFunc) service_filename_cmp); -		if (l) -			unregister_service(l->data); -		break; -	case NOTIFY_MODIFY: -		debug("%s was modified", name); -		break; -	default: -		debug("Unknown notify action %d", action); -		break; -	} -} -  int init_services(const char *path)  {  	DIR *d; @@ -1052,8 +999,6 @@ int init_services(const char *path)  	closedir(d); -	notify_add(path, service_notify, NULL); -  	return 0;  } diff --git a/hcid/main.c b/hcid/main.c index 0c9bd7ef..9980cc4e 100644 --- a/hcid/main.c +++ b/hcid/main.c @@ -48,8 +48,6 @@  #include <dbus/dbus.h> -#include "notify.h" -  #include "hcid.h"  #include "sdpd.h"  #include "adapter.h" @@ -918,8 +916,6 @@ int main(int argc, char *argv[])  	start_sdp_server(mtu, hcid.deviceid, SDP_SERVER_COMPAT);  	set_service_classes_callback(update_service_classes); -	notify_init(); -  	/* Loading plugins has to be done after D-Bus has been setup since  	 * the plugins might wanna expose some paths on the bus. However the  	 * best order of how to init various subsystems of the Bluetooth @@ -941,8 +937,6 @@ int main(int argc, char *argv[])  	hcid_dbus_exit(); -	notify_close(); -  	cleanup_sdp_session();  	g_main_loop_unref(event_loop); | 
