BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(libsystemd)
+BuildRequires: pkgconfig(capi-system-device)
+
Requires: dbus
Provides: %{name}-profile_common = %{version}-%{release}
Provides: %{name}-profile_mobile = %{version}-%{release}
#include "plugin_encrypt.h"
#endif
+#include <device/power.h>
+#define CPU_LOCK_STATE_LOCKED 0
+#define CPU_LOCK_STATE_UNLOCKED 1
+int can_lock_once=CPU_LOCK_STATE_UNLOCKED;
+
static void transport_unref(atransport *t);
static atransport transport_list = {
m.transport = transport;
m.action = 1;
D("transport: %s registered\n", transport->serial);
+ if(can_lock_once==CPU_LOCK_STATE_UNLOCKED)
+ {
+ D("transport: doing CPU Power Lock\n");
+ device_power_request_lock (POWER_LOCK_CPU, 0);
+ can_lock_once=CPU_LOCK_STATE_LOCKED;
+ }
+ else
+ {
+ D("transport: Cannot do CPU Power Lock as lock already in place\n");
+ }
+
if(transport_write_action(transport_registration_send, &m)) {
fatal_errno("cannot write transport registration socket\n");
}
m.transport = transport;
m.action = 0;
D("transport: %s removed\n", transport->serial);
+ if(can_lock_once==CPU_LOCK_STATE_LOCKED)
+ {
+ D("transport: doing CPU Power UnLock\n");
+ device_power_release_lock (POWER_LOCK_CPU);
+ can_lock_once=CPU_LOCK_STATE_UNLOCKED;
+ }
+ else
+ {
+ D("transport: Cannot do CPU Power UnLock as lock is not in place\n");
+ }
+
if(transport_write_action(transport_registration_send, &m)) {
fatal_errno("cannot write transport registration socket\n");
}