[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