diff options
author | David Härdeman <david@hardeman.nu> | 2015-08-29 12:30:11 +0200 |
---|---|---|
committer | David Härdeman <david@hardeman.nu> | 2015-08-29 12:30:11 +0200 |
commit | 6f51fdc108dd5251befb57e8df82ea723328ffed (patch) | |
tree | abee07ad14119cdd146b71afd0f341d44df6dea3 /rcm-server-main.c | |
parent | bde923a8584b8104ed999091b81bcd6c84d533ba (diff) |
Add basic sql db of available keymaps (to be used for automated searches)
Diffstat (limited to 'rcm-server-main.c')
-rw-r--r-- | rcm-server-main.c | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/rcm-server-main.c b/rcm-server-main.c index 596d81c..5177c3c 100644 --- a/rcm-server-main.c +++ b/rcm-server-main.c @@ -17,6 +17,7 @@ #include "rcm-server-main.h" #include "rcm-server-keymap.h" #include "rcm-server-evdev.h" +#include "rcm-server-kdb.h" static struct device * find_device_by_path(struct manager *mgr, const char *path) @@ -1179,6 +1180,7 @@ free_manager(struct manager *mgr) { if (!mgr) return; + kdb_close(mgr); sd_event_source_unref(mgr->udev_ev); sd_bus_detach_event(mgr->bus); sd_event_unref(mgr->event); @@ -1245,6 +1247,24 @@ main(int argc, char **argv) } list_init(&mgr->devices); + r = sd_event_default(&mgr->event); + if (r < 0) { + fprintf(stderr, "Failed to create sd_event: %s\n", strerror(-r)); + goto finish; + } + + r = kdb_init(mgr, "./rcm.sqlite"); + if (r < 0) { + fprintf(stderr, "Failed to open/create sqlite database\n"); + goto finish; + } + + r = kdb_add_directory(mgr, "./keymaps/db"); + if (r < 0) { + fprintf(stderr, "Failed to add keymap directory: %s\n", strerror(-r)); + goto finish; + } + r = sd_bus_open_user(&bus); if (r < 0) { fprintf(stderr, "Failed to connect to system bus: %s\n", strerror(-r)); @@ -1278,12 +1298,6 @@ main(int argc, char **argv) goto finish; } - r = sd_event_default(&mgr->event); - if (r < 0) { - fprintf(stderr, "Failed to create sd_event: %s\n", strerror(-r)); - goto finish; - } - r = sd_bus_attach_event(mgr->bus, mgr->event, 0); if (r < 0) { fprintf(stderr, "Failed to attach bus to event loop: %s\n", strerror(-r)); |