chiark / gitweb /
logind: trivial simplification
[elogind.git] / src / login / logind-button.h
index dd6582e4bb77645a664f5609d57b23191007de44..f30cba29594d712e59de1c5ba1d70b2a743d73b4 100644 (file)
@@ -1,7 +1,4 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
-#ifndef foologindbuttonhfoo
-#define foologindbuttonhfoo
+#pragma once
 
 /***
   This file is part of systemd.
 
 typedef struct Button Button;
 
-typedef enum HandleButton {
-        HANDLE_IGNORE,
-        HANDLE_POWEROFF,
-        HANDLE_REBOOT,
-        HANDLE_HALT,
-        HANDLE_KEXEC,
-        HANDLE_SUSPEND,
-        HANDLE_HIBERNATE,
-        _HANDLE_BUTTON_MAX,
-        _HANDLE_BUTTON_INVALID = -1
-} HandleButton;
-
-#include "list.h"
-#include "util.h"
 #include "logind.h"
 
 struct Button {
         Manager *manager;
 
+        sd_event_source *io_event_source;
+        sd_event_source *check_event_source;
+
         char *name;
         char *seat;
         int fd;
+
+        bool lid_closed;
+        bool docked;
 };
 
 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);
-
-const char* handle_button_to_string(HandleButton h);
-HandleButton handle_button_from_string(const char *s);
-
-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);
-
-#endif
+int button_check_switches(Button *b);