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); |