[sikuli] 179/385: modified the OSUtil lib handling to assure preload in any case
Gilles Filippini
pini at moszumanska.debian.org
Sun Jun 29 19:26:08 UTC 2014
This is an automated email from the git hooks/post-receive script.
pini pushed a commit to tag upstream/1.1.0_beta1
in repository sikuli.
commit 61d8b7cf2b332ecb7158ec5ddb687fec7ebbac48
Author: Raimund Hocke <info at its-me-raiman.de>
Date: Wed Jan 29 20:28:41 2014 +0100
modified the OSUtil lib handling to assure preload in any case
---
API/src/main/java/org/sikuli/script/App.java | 7 ++++++-
.../src/main/java/org/sikuli/basics/ResourceLoader.java | 4 ++--
.../org/sikuli/basics/{SysUtil.java => SysJNA.java} | 2 +-
Natives/src/main/java/org/sikuli/natives/LinuxUtil.java | 6 ++++++
Natives/src/main/java/org/sikuli/natives/MacUtil.java | 17 +++++++----------
Natives/src/main/java/org/sikuli/natives/OSUtil.java | 4 +++-
Natives/src/main/java/org/sikuli/natives/WinUtil.java | 11 ++++-------
7 files changed, 29 insertions(+), 22 deletions(-)
diff --git a/API/src/main/java/org/sikuli/script/App.java b/API/src/main/java/org/sikuli/script/App.java
index a9c416c..7a7566d 100755
--- a/API/src/main/java/org/sikuli/script/App.java
+++ b/API/src/main/java/org/sikuli/script/App.java
@@ -21,6 +21,7 @@ import java.io.Reader;
import java.io.StringReader;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
+import org.sikuli.basics.FileManager;
import org.sikuli.natives.OSUtil;
import org.sikuli.natives.SysUtil;
@@ -33,8 +34,12 @@ public class App {
static {
//TODO Sikuli hangs if App is used before Screen
new Screen();
+ String libName = _osUtil.getLibName();
+ if (!libName.isEmpty()) {
+ FileManager.loadLibrary(libName);
+ }
}
-
+
private static Region asRegion(Rectangle r) {
if (r != null) {
return Region.create(r);
diff --git a/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java b/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java
index 97b48a2..910cdc9 100755
--- a/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java
+++ b/Basics/src/main/java/org/sikuli/basics/ResourceLoader.java
@@ -433,14 +433,14 @@ public class ResourceLoader implements IResourceLoader {
log(lvl, path);
if (!Settings.runningSetup && Settings.isWindows()) {
// is on system path?
- String syspath = SysUtil.WinKernel32.getEnvironmentVariable("PATH");
+ String syspath = SysJNA.WinKernel32.getEnvironmentVariable("PATH");
if (syspath == null) {
SikuliX.terminate(1);
} else {
path = (new File(path).getAbsolutePath()).replaceAll("/", "\\");
if (!syspath.toUpperCase().contains(path.toUpperCase())) {
log(lvl, "Adding libs dir to path: " + path);
- if (!SysUtil.WinKernel32.setEnvironmentVariable("PATH", syspath + ";" + path)) {
+ if (!SysJNA.WinKernel32.setEnvironmentVariable("PATH", syspath + ";" + path)) {
SikuliX.terminate(1);
}
}
diff --git a/Basics/src/main/java/org/sikuli/basics/SysUtil.java b/Basics/src/main/java/org/sikuli/basics/SysJNA.java
similarity index 99%
rename from Basics/src/main/java/org/sikuli/basics/SysUtil.java
rename to Basics/src/main/java/org/sikuli/basics/SysJNA.java
index dfd32bb..3caa521 100644
--- a/Basics/src/main/java/org/sikuli/basics/SysUtil.java
+++ b/Basics/src/main/java/org/sikuli/basics/SysJNA.java
@@ -7,7 +7,7 @@ import org.bridj.ann.Library;
/**
* Direct access to system functions via JNI, JNA, BridJ, ...
*/
-public class SysUtil {
+public class SysJNA {
/**
* Direct access to Windows API kernel32.dll via BridJ
*/
diff --git a/Natives/src/main/java/org/sikuli/natives/LinuxUtil.java b/Natives/src/main/java/org/sikuli/natives/LinuxUtil.java
index bae0d4f..2c3c348 100644
--- a/Natives/src/main/java/org/sikuli/natives/LinuxUtil.java
+++ b/Natives/src/main/java/org/sikuli/natives/LinuxUtil.java
@@ -6,12 +6,18 @@
*/
package org.sikuli.natives;
+import org.sikuli.natives.OSUtil;
import java.awt.Rectangle;
import java.awt.Window;
import java.io.*;
public class LinuxUtil implements OSUtil {
+ @Override
+ public String getLibName() {
+ return "";
+ }
+
@Override
public int switchApp(String appName, int winNum) {
try {
diff --git a/Natives/src/main/java/org/sikuli/natives/MacUtil.java b/Natives/src/main/java/org/sikuli/natives/MacUtil.java
index 440a914..ee6070f 100644
--- a/Natives/src/main/java/org/sikuli/natives/MacUtil.java
+++ b/Natives/src/main/java/org/sikuli/natives/MacUtil.java
@@ -6,23 +6,20 @@
*/
package org.sikuli.natives;
-import org.sikuli.basics.FileManager;
-
import java.awt.Rectangle;
import java.awt.Window;
import javax.swing.JOptionPane;
public class MacUtil implements OSUtil {
- static {
- // might already be loaded by Sikuli startup procedures
- // leave it here for the cases where startup is not yet done
- FileManager.loadLibrary("MacUtil");
- }
-
private static boolean _askedToEnableAX = false;
private String usedFeature;
+ @Override
+ public String getLibName() {
+ return "MacUtil";
+ }
+
@Override
public int switchApp(String appName) {
return openApp(appName);
@@ -107,8 +104,8 @@ public class MacUtil implements OSUtil {
}
//Mac Mavericks: delete app entry from list - in terminal on one line
-//sudo sqlite3 /Library/Application\ Support/com.apple.TCC/Tcc.db
-//'delete from access where client like "%part of app name%"'
+//sudo sqlite3 /Library/Application\ Support/com.apple.TCC/Tcc.db
+//'delete from access where client like "%part of app name%"'
@Override
public Rectangle getWindow(String appName, int winNum) {
diff --git a/Natives/src/main/java/org/sikuli/natives/OSUtil.java b/Natives/src/main/java/org/sikuli/natives/OSUtil.java
index 58c06b0..8c86f27 100644
--- a/Natives/src/main/java/org/sikuli/natives/OSUtil.java
+++ b/Natives/src/main/java/org/sikuli/natives/OSUtil.java
@@ -13,7 +13,9 @@ public interface OSUtil {
// Windows: returns PID, 0 if fails
// Others: return 0 if succeeds, -1 if fails
- public int openApp(String appName);
+ public String getLibName();
+
+ public int openApp(String appName);
// Windows: returns PID, 0 if fails
// Others: return 0 if succeeds, -1 if fails
diff --git a/Natives/src/main/java/org/sikuli/natives/WinUtil.java b/Natives/src/main/java/org/sikuli/natives/WinUtil.java
index 719430b..31297a3 100644
--- a/Natives/src/main/java/org/sikuli/natives/WinUtil.java
+++ b/Natives/src/main/java/org/sikuli/natives/WinUtil.java
@@ -6,18 +6,15 @@
*/
package org.sikuli.natives;
-import org.sikuli.basics.FileManager;
-
import java.awt.Rectangle;
import java.awt.Window;
public class WinUtil implements OSUtil {
- static {
- // might already be loaded by Sikuli startup procedures
- // leave it here for the cases where startup is not yet done
- FileManager.loadLibrary("WinUtil");
- }
+ @Override
+ public String getLibName() {
+ return "WinUtil";
+ }
@Override
public int switchApp(String appName) {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/sikuli.git
More information about the pkg-java-commits
mailing list