return context_raise(c, &event, 0);
}
+static int context_raise_device_change(sysview_context *c, sysview_device *device, struct udev_device *ud) {
+ sysview_event event = {
+ .type = SYSVIEW_EVENT_DEVICE_CHANGE,
+ .device_change = {
+ .device = device,
+ .ud = ud,
+ }
+ };
+
+ return context_raise(c, &event, 0);
+}
+
static int context_add_device(sysview_context *c, sysview_device *device) {
sysview_session *session;
int r, error = 0;
if (!device)
return 0;
- /* TODO: send REFRESH event */
+ return context_raise_device_change(c, device, d);
} else if (!action || streq_ptr(action, "add")) {
struct udev_device *p;
unsigned int type, t;
SYSVIEW_EVENT_SESSION_ATTACH,
SYSVIEW_EVENT_SESSION_DETACH,
SYSVIEW_EVENT_SESSION_CONTROL,
+
+ SYSVIEW_EVENT_DEVICE_CHANGE,
};
struct sysview_event {
sysview_session *session;
int error;
} session_control;
+
+ struct {
+ sysview_device *device;
+ struct udev_device *ud;
+ } device_change;
};
};