chiark / gitweb /
cgroup: never migrate kernel threads out of the root cgroup
[elogind.git] / src / login / logind-button.h
index 7518d05ccb8290efe39c6571a530ada9d6b09a47..95bb6a52402f166d05c5f46d51eccad57b35d1c1 100644 (file)
@@ -1,12 +1,11 @@
 /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
 
-#ifndef foologindbuttonhfoo
-#define foologindbuttonhfoo
+#pragma once
 
 /***
   This file is part of systemd.
 
-  Copyright 2012 Lennart Poettering
+  Copyright 2014 Daniel Mack
 
   systemd is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as published by
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-typedef struct Button Button;
+typedef struct BusEndpoint BusEndpoint;
+typedef struct BusEndpointPolicy BusEndpointPolicy;
 
-typedef enum HandleButton {
-        HANDLE_OFF,
-        HANDLE_NO_SESSION,   /* Only handle key when nobody is logged in; honour inhibitors */
-        HANDLE_TTY_SESSION,  /* Only handle key when nobody is logged in, or the fg session is the only one and non-graphical; honour inhibitors */
-        HANDLE_ANY_SESSION,  /* Only handle key when nobody is logged in, or the fg session is the only one; honour inhibtors */
-        HANDLE_ALWAYS,       /* Always handle, ignore sessions; ignore inhibitors */
-        _HANDLE_BUTTON_MAX,
-        _HANDLE_BUTTON_INVALID = -1
-} HandleButton;
-
-#include "list.h"
-#include "util.h"
-#include "logind.h"
-
-struct Button {
-        Manager *manager;
+#include "hashmap.h"
+#include "bus-policy.h"
 
+struct BusEndpointPolicy {
         char *name;
-        char *seat;
-        int fd;
+        BusPolicyAccess access;
 };
 
-Button* button_new(Manager *m, const char *name);
-void button_free(Button*b);
-int button_open(Button *b);
-int button_process(Button *b);
-int button_set_seat(Button *b, const char *sn);
+struct BusEndpoint {
+        Hashmap *policy_hash;
+};
 
-const char* handle_button_to_string(HandleButton h);
-HandleButton handle_button_from_string(const char *s);
+// UNNEEDED int bus_endpoint_new(BusEndpoint **ep);
+void bus_endpoint_free(BusEndpoint *endpoint);
 
-int config_parse_handle_button(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+// UNNEEDED int bus_endpoint_add_policy(BusEndpoint *ep, const char *name, BusPolicyAccess access);
 
-#endif
+int bus_kernel_set_endpoint_policy(int fd, uid_t uid, BusEndpoint *ep);