- event->n_params = 1;
- event->params = talloc(event, struct param);
- event->params->name = "DEVNAME";
- event->params->value = devnode;
+ device_handler_discover(udev->handler, ddev, CONF_METHOD_LOCAL_FILE);
+
+ return 0;
+}
+
+static int udev_handle_dev_remove(struct pb_udev *udev, struct udev_device *dev)
+{
+ struct discover_device *ddev;
+ const char *name;
+
+ name = udev_device_get_sysname(dev);
+ if (!name) {
+ pb_debug("udev_device_get_sysname failed\n");
+ return -1;
+ }
+
+ ddev = device_lookup_by_id(udev->handler, name);
+ if (!ddev)
+ return 0;
+
+ device_handler_remove(udev->handler, ddev);
+
+ return 0;
+}
+static int udev_handle_dev_action(struct udev_device *dev, const char *action)
+{
+ struct pb_udev *udev = udev_get_userdata(udev_device_get_udev(dev));