return device_monitor_new_full(ret, MONITOR_GROUP_UDEV, -EBADF);
}
+_public_ int sd_device_monitor_is_running(sd_device_monitor *m) {
+ if (!m)
+ return 0;
+
+ return sd_event_source_get_enabled(m->event_source, NULL);
+}
+
_public_ int sd_device_monitor_stop(sd_device_monitor *m) {
assert_return(m, -EINVAL);
}
}
+TEST(sd_device_monitor_is_running) {
+ _cleanup_(sd_device_monitor_unrefp) sd_device_monitor *m = NULL;
+
+ ASSERT_EQ(sd_device_monitor_is_running(NULL), 0);
+
+ ASSERT_OK(device_monitor_new_full(&m, MONITOR_GROUP_NONE, -1));
+ ASSERT_EQ(sd_device_monitor_is_running(m), 0);
+ ASSERT_OK(sd_device_monitor_start(m, NULL, NULL));
+ ASSERT_EQ(sd_device_monitor_is_running(m), 1);
+ ASSERT_OK(sd_device_monitor_stop(m));
+ ASSERT_EQ(sd_device_monitor_is_running(m), 0);
+}
+
TEST(refuse_invalid_device) {
_cleanup_(sd_device_monitor_unrefp) sd_device_monitor *monitor_server = NULL, *monitor_client = NULL;
_cleanup_(sd_device_unrefp) sd_device *loopback = NULL;
sd_event_source *sd_device_monitor_get_event_source(sd_device_monitor *m);
int sd_device_monitor_set_description(sd_device_monitor *m, const char *description);
int sd_device_monitor_get_description(sd_device_monitor *m, const char **ret);
+int sd_device_monitor_is_running(sd_device_monitor *m);
int sd_device_monitor_start(sd_device_monitor *m, sd_device_monitor_handler_t callback, void *userdata);
int sd_device_monitor_stop(sd_device_monitor *m);