summaryrefslogtreecommitdiff
path: root/rcm-server-main.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2015-08-29 12:30:11 +0200
committerDavid Härdeman <david@hardeman.nu>2015-08-29 12:30:11 +0200
commit6f51fdc108dd5251befb57e8df82ea723328ffed (patch)
treeabee07ad14119cdd146b71afd0f341d44df6dea3 /rcm-server-main.c
parentbde923a8584b8104ed999091b81bcd6c84d533ba (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.c26
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));