main: use uterm_monitor objects
Create a global uterm_monitor object to monitor the system for new seats and devices. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
This commit is contained in:
parent
c8ab4a2c49
commit
4c85801975
29
src/main.c
29
src/main.c
@ -45,6 +45,8 @@ struct kmscon_app {
|
||||
struct uterm_video *video;
|
||||
struct kmscon_input *input;
|
||||
struct kmscon_ui *ui;
|
||||
|
||||
struct uterm_monitor *mon;
|
||||
};
|
||||
|
||||
static void sig_generic(struct ev_eloop *eloop, struct signalfd_siginfo *info,
|
||||
@ -80,12 +82,33 @@ static bool vt_switch(struct kmscon_vt *vt,
|
||||
return true;
|
||||
}
|
||||
|
||||
static void monitor_event(struct uterm_monitor *mon,
|
||||
struct uterm_monitor_event *ev,
|
||||
void *data)
|
||||
{
|
||||
struct kmscon_app *app = data;
|
||||
|
||||
switch (ev->type) {
|
||||
case UTERM_MONITOR_NEW_SEAT:
|
||||
break;
|
||||
case UTERM_MONITOR_FREE_SEAT:
|
||||
break;
|
||||
case UTERM_MONITOR_NEW_DEV:
|
||||
break;
|
||||
case UTERM_MONITOR_FREE_DEV:
|
||||
break;
|
||||
case UTERM_MONITOR_HOTPLUG_DEV:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void destroy_app(struct kmscon_app *app)
|
||||
{
|
||||
kmscon_ui_free(app->ui);
|
||||
kmscon_input_unref(app->input);
|
||||
uterm_video_unref(app->video);
|
||||
kmscon_vt_unref(app->vt);
|
||||
uterm_monitor_unref(app->mon);
|
||||
ev_eloop_unregister_signal_cb(app->eloop, SIGINT, sig_generic, app);
|
||||
ev_eloop_unregister_signal_cb(app->eloop, SIGTERM, sig_generic, app);
|
||||
ev_eloop_rm_eloop(app->vt_eloop);
|
||||
@ -114,6 +137,10 @@ static int setup_app(struct kmscon_app *app)
|
||||
if (ret)
|
||||
goto err_app;
|
||||
|
||||
ret = uterm_monitor_new(&app->mon, app->eloop, monitor_event, app);
|
||||
if (ret)
|
||||
goto err_app;
|
||||
|
||||
ret = kmscon_vt_new(&app->vt, vt_switch, app);
|
||||
if (ret)
|
||||
goto err_app;
|
||||
@ -145,6 +172,8 @@ static int setup_app(struct kmscon_app *app)
|
||||
if (ret)
|
||||
goto err_app;
|
||||
|
||||
uterm_monitor_scan(app->mon);
|
||||
|
||||
return 0;
|
||||
|
||||
err_app:
|
||||
|
Loading…
x
Reference in New Issue
Block a user