[haiku-commits] haiku: hrev46366 - src/servers/power

  • From: korli@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 14 Nov 2013 07:44:01 +0100 (CET)

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


Other related posts:

  • » [haiku-commits] haiku: hrev46366 - src/servers/power - korli