summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOBATA Akio <obache@wizdas.com>2019-04-06 19:01:11 +0900
committerSlávek Banko <slavek.banko@axis.cz>2019-05-04 17:25:51 +0200
commite2e56f4e616b111f263627abdc6293b598b31037 (patch)
treeab3d1ce13ed1b0a627e61a9e90c3e9f39f0b778c
parent145adceab1c03df193c66249badc2a768f142ba0 (diff)
downloadtdeutils-e2e56f4e616b111f263627abdc6293b598b31037.tar.gz
tdeutils-e2e56f4e616b111f263627abdc6293b598b31037.zip
Fix NetBSD APM support
NetBSD APM is supported other than i386 too, emulate API, so change to detect with MI support header. Additionally, catch up support codes to others. Signed-off-by: OBATA Akio <obache@wizdas.com> (cherry picked from commit f8424834b6a36b4d3e43e3af199e55c18fb913b8)
-rw-r--r--CMakeLists.txt1
-rw-r--r--ConfigureChecks.cmake4
-rw-r--r--config.h.cmake6
-rw-r--r--klaptopdaemon/portable.cpp50
4 files changed, 55 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 19ade5b..fc238a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,6 +24,7 @@ set( VERSION R14.0.6 )
include( FindPkgConfig )
include( CheckIncludeFile )
+include( CheckIncludeFiles )
include( CheckLibraryExists )
include( CheckSymbolExists )
include( CheckFunctionExists )
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 44ca497..1b48407 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -80,6 +80,10 @@ if( BUILD_KLAPTOPDAEMON )
tde_message_fatal( "stdint.h header is required, but was not found on your system" )
endif( NOT HAVE_STDINT_H )
+# NetBSD apm support
+ check_include_files( "unistd.h;machine/apm_bios.h" HAVE_MACHINE_APM_BIOS_H )
+ check_include_files( "unistd.h;dev/apm/apmio.h" HAVE_DEV_APM_APMIO_H )
+
# xtest
pkg_search_module( XTEST xtst )
if( XTEST_FOUND )
diff --git a/config.h.cmake b/config.h.cmake
index 50adee4..52adf87 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -60,6 +60,12 @@
#if !defined( HAVE_STDINT_H )
#cmakedefine HAVE_STDINT_H
#endif // HAVE_STDINT_H
+#if !defined( HAVE_MACHINE_APM_BIOS_H )
+#cmakedefine HAVE_MACHINE_APM_BIOS_H
+#endif // HAVE_MACHIE_APM_BIOS_H
+#if !defined( HAVE_DEV_APM_APMIO_H )
+#cmakedefine HAVE_DEV_APM_APMIO_H
+#endif // HAVE_DEV_APM_APMIO_H
#cmakedefine HAVE_XSCREENSAVER
#cmakedefine HAVE_DPMS
diff --git a/klaptopdaemon/portable.cpp b/klaptopdaemon/portable.cpp
index 35d69b6..1be8706 100644
--- a/klaptopdaemon/portable.cpp
+++ b/klaptopdaemon/portable.cpp
@@ -39,7 +39,7 @@
//
// Linux (#if __linux__)
// FreeBSD (#elif __FreeBSD__)
-// NetBSD (#elif __NetBSD_APM__)
+// NetBSD (#elif __NetBSD__)
// generic nothing (#else)
//
//
@@ -2429,7 +2429,7 @@ laptop_portable::software_suspend_set_mask(bool /*hibernate*/)
}
-#elif defined(__NetBSD_APM__)
+#elif defined(__NetBSD__) && defined(HAVE_DEV_APM_APMIO_H)
#include <errno.h>
#include <fcntl.h>
@@ -2437,11 +2437,16 @@ laptop_portable::software_suspend_set_mask(bool /*hibernate*/)
#include <stdlib.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
-#include <machine/apmvar.h>
-#include <iostream.h>
+#include <dev/apm/apmbios.h>
+#include <dev/apm/apmio.h>
+#include <iostream>
+#include <tqpushbutton.h>
+#include <tqobject.h>
+#include <kactivelabel.h>
+#include <kprocess.h>
//
-// klaptopdeamon interface to NetBSD 1.5 apm.
+// Klaptopdeamon interface to NetBSD 1.5 apm.
// Scott Presnell, srp@zgi.com, srp@tworoads.net
// Fri Jun 29 17:21:25 PDT 2001
// Tested on Dell I4K running NetBSD 1.5R
@@ -2463,6 +2468,7 @@ laptop_portable::has_power_management()
}
struct apm_power_info info;
+ memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::close(fd);
@@ -2490,6 +2496,7 @@ int laptop_portable::has_battery_time()
return 0;
struct apm_power_info info;
+ memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::close(fd);
@@ -2661,6 +2668,15 @@ laptop_portable::apm_set_mask(bool , bool )
//
+// adds extra widgets to the battery panel
+//
+void
+laptop_portable::extra_config(TQWidget *parent, TDEConfig *config, TQVBoxLayout *layout)
+{
+}
+
+
+//
// return current battery state
//
struct power_result laptop_portable::poll_battery_state()
@@ -2674,6 +2690,7 @@ struct power_result laptop_portable::poll_battery_state()
goto bad;
struct apm_power_info info;
+ memset(&info, 0, sizeof(info));
ret=ioctl(fd, APM_IOC_GETPOWER, &info);
::close(fd);
@@ -2736,7 +2753,16 @@ laptop_portable::get_brightness()
}
bool
-laptop_portable::get_system_throttling(bool, int &current, TQStringList &s) // do something to help get system throttling data from places like ACPI
+laptop_portable::get_system_performance(bool, int &current, TQStringList &s, bool *&) // do something to help get system profiles from places like ACPI
+{
+ // INSERT HERE
+ current = 0;
+ s.clear();
+ return(0); // if no profiles are available
+}
+
+bool
+laptop_portable::get_system_throttling(bool, int &current, TQStringList &s, bool *&) // do something to help get system throttling data from places like ACPI
{
// INSERT HERE
current = 0;
@@ -2794,6 +2820,18 @@ laptop_portable::get_battery_status(int &num_batteries, TQStringList &names, TQS
values.append(s);
}
+bool
+laptop_portable::has_software_suspend(int /*type*/)
+{
+ return false; // (::has_software_suspend(type));
+}
+
+void
+laptop_portable::software_suspend_set_mask(bool hibernate)
+{
+ // software_suspend_is_preferred =hibernate;
+}
+
#else
/*