hrev46366 adds 1 changeset to branch 'master' old head: 8e72745123581210d25c4fd7dc274f51ec425a9d new head: 432034944798b6c0d19ade07efaf8f1d6d8e4e46 overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=4320349+%5E8e72745 ---------------------------------------------------------------------------- 4320349: power_daemon: added lid_monitor. Thanks Rene! [ Jérôme Duval <jerome.duval@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev46366 Commit: 432034944798b6c0d19ade07efaf8f1d6d8e4e46 URL: http://cgit.haiku-os.org/haiku/commit/?id=4320349 Author: Jérôme Duval <jerome.duval@xxxxxxxxx> Date: Thu Nov 14 06:41:24 2013 UTC ---------------------------------------------------------------------------- 2 files changed, 69 insertions(+) src/servers/power/lid_monitor.cpp | 44 +++++++++++++++++++++++++++++++++++ src/servers/power/lid_monitor.h | 25 ++++++++++++++++++++ ---------------------------------------------------------------------------- diff --git a/src/servers/power/lid_monitor.cpp b/src/servers/power/lid_monitor.cpp new file mode 100644 index 0000000..70b5ac3 --- /dev/null +++ b/src/servers/power/lid_monitor.cpp @@ -0,0 +1,44 @@ +/* + * Copyright 2013, Jérôme Duval, korli@xxxxxxxxxxxxxxxx. + * Copyright 2005, Nathan Whitehorn. + * + * Distributed under the terms of the MIT License. + */ + + +#include "lid_monitor.h" + +#include <Messenger.h> +#include <Roster.h> + +#include <stdio.h> + +#include <RosterPrivate.h> + + +LidMonitor::LidMonitor() +{ + fFD = open("/dev/power/acpi_lid/0", O_RDONLY); +} + + +LidMonitor::~LidMonitor() +{ + if (fFD > 0) + close(fFD); +} + + +void +LidMonitor::HandleEvent() +{ + if (fFD <= 0) + return; + + uint8 status; + read(fFD, &status, 1); + + if (status == 1) { + printf("lid status 1\n"); + } +} diff --git a/src/servers/power/lid_monitor.h b/src/servers/power/lid_monitor.h new file mode 100644 index 0000000..6e5e56a --- /dev/null +++ b/src/servers/power/lid_monitor.h @@ -0,0 +1,25 @@ +/* + * Copyright 2005-2013, Haiku, Inc. + * Distributed under the terms of the MIT license. + * + * Authors: + * Nathan Whitehorn + */ +#ifndef _LID_MONITOR_H +#define _LID_MONITOR_H + + +class LidMonitor { +public: + LidMonitor(); + ~LidMonitor(); + + void HandleEvent(); + + int FD() const { return fFD; } +private: + int fFD; +}; + + +#endif // _LID_MONITOR_H