home *** CD-ROM | disk | FTP | other *** search
- import stardiv.tools.HoldJavaEnvironment;
- import stardiv.tools.SjProtocolWindow;
-
- class JavaScript {
- private static int nNoOfManagers;
- private JScriptManager aJScriptManager;
- JSbxObject aWrapperObj;
- private ThreadGroup aThreadGroup;
- private boolean bUsedAsIDE;
- private int nNoOfModules;
- protected long pCppJSbxObject;
-
- public JScriptManager GetManager() {
- return this.aJScriptManager;
- }
-
- public boolean ExistsNativeHandle() {
- return this.pCppJSbxObject != 0L;
- }
-
- public final void ClearNativeHandle() {
- this.pCppJSbxObject = 0L;
- }
-
- public final void SetNativeHandle(long var1) {
- this.pCppJSbxObject = var1;
- }
-
- public final long GetNativeHandle() {
- return this.pCppJSbxObject;
- }
-
- public final int GetNativeHandleInt() {
- return (int)this.pCppJSbxObject;
- }
-
- public static JavaScript GetMyJavaScript() {
- JScriptManager var0 = JScriptManager.GetMyJScriptManager();
- if (var0 != null) {
- JavaScript var1 = var0.GetJavaScriptObj();
- return var1;
- } else {
- return null;
- }
- }
-
- public static boolean StopThreadWithCallbackID(int var0) {
- return JScriptRunAsync.StopThreadWithCallbackID(var0);
- }
-
- protected void finalize() {
- this.aJScriptManager = null;
- SjProtocolWindow.DecUser1Count();
- }
-
- protected void Constr() {
- SjProtocolWindow.IncUser1Count();
- }
-
- private void SetMyWrapper(Object var1) {
- if (var1 instanceof JSbxObject) {
- this.aWrapperObj = (JSbxObject)var1;
- } else if (this.aWrapperObj instanceof JavaScriptWrapperObject) {
- ((JavaScriptWrapperObject)this.aWrapperObj).SetObject(var1);
- } else {
- HoldJavaEnvironment.AddToProtocol("*** WARINIG: create JavaScriptWrapperObject !!!");
- this.aWrapperObj = new JavaScriptWrapperObject(var1, true);
- }
- }
-
- public JavaScript(long var1, boolean var3) {
- this.Constr();
- this.SetNativeHandle(var1);
- this.aWrapperObj = null;
- if (var3) {
- this.aThreadGroup = new ThreadGroup("(Star)JavaScript_" + nNoOfManagers++);
- this.aJScriptManager = new JScriptManager(this.aThreadGroup, this.aWrapperObj, var3);
- } else {
- this.aJScriptManager = new JScriptManager((ThreadGroup)null, this.aWrapperObj, var3);
- }
-
- this.aJScriptManager.UpdateNativeInterface(this);
- this.aJScriptManager.SetSysExitFlag(false);
- this.nNoOfModules = 0;
- this.bUsedAsIDE = var3;
- }
-
- public void SetRoot(Object var1) {
- this.SetMyWrapper(var1);
- this.aJScriptManager.SetRootObject(this.aWrapperObj);
- }
-
- public JSbxObject GetRoot() {
- return this.aJScriptManager.GetRootObject();
- }
-
- public String GetLastErrorString() {
- return this.aJScriptManager.GetLastError();
- }
-
- public static String GetWatchdogMessage() {
- return "lengthy JavaScript still running. Continue ?";
- }
-
- public void ChangeAndClrRoot(Object var1) {
- if (this.aWrapperObj instanceof JavaScriptWrapperObject) {
- this.aWrapperObj.ClrAllVariables();
- ((JavaScriptWrapperObject)this.aWrapperObj).SetObject(var1);
- } else if (var1 instanceof JScriptWindowObject) {
- ((JScriptWindowObject)var1).ClearGlobalVariables();
- }
-
- this.aJScriptManager.SetRootObject(this.aWrapperObj);
- }
-
- public void StopAllPendingAndNoneRecursiveScripts() {
- JScriptScheduler.StopAllPendingAndNoneRecursiveScripts(this);
- }
-
- public int CreateAndRunModule(String var1, String var2, SJCallByReference_boolean var3, boolean var4) {
- JScriptRunParam var5 = new JScriptRunParam();
- var5.aErrInFirstStmt = var3;
- var5.bDbgFlag = var4;
- return this.CreateAndRunModule(var1, var2, var5);
- }
-
- public int CreateAndRunModule(String var1, String var2, JScriptRunParam var3) {
- try {
- if (this.aJScriptManager != null) {
- int var4 = this.aJScriptManager.CreateAndRunModule_CTOJ(var1, var2 != null ? var2 : "JSMOD_" + this.nNoOfModules++, var3);
- this.CheckErrorCode(var4);
- return var4;
- } else {
- return -3;
- }
- } catch (Throwable var6) {
- String var5 = "WARNING: Exception in JavaScript.CreateAndRunModule()";
- HoldJavaEnvironment.AddToProtocol(var5);
- var5 = "Exception= " + var6;
- HoldJavaEnvironment.AddToProtocol(var5);
- return -1;
- }
- }
-
- public int CreateAndRunModuleAsync(String var1, String var2, int var3) {
- return this.CreateAndRunModuleAsync(var1, var2, var3, false);
- }
-
- public int CreateAndRunModuleAsync(String var1, String var2, int var3, boolean var4) {
- return this.AsyncRun(var1, var2, (Object)null, var3, var4);
- }
-
- public Object DoExecuteSync(String var1, JScriptRunParam var2) {
- int var3 = 0;
-
- try {
- if (this.aJScriptManager != null) {
- if (var2.aModule != null) {
- var2.bRunAsThread = true;
- var3 = this.aJScriptManager.DoRunModSync_CTOJ(var2);
- if (var2.aErrCode != null) {
- var2.aErrCode.SetValue(var3);
- }
-
- this.CheckErrorCode(var3);
- return var2.aModule;
- }
-
- JScriptModule var4 = new JScriptModule("JSMOD_" + this.nNoOfModules++, var1);
- var2.aModule = var4;
- var2.bRunAsThread = true;
- var2.aThisObj = null;
- var3 = this.aJScriptManager.DoCompileAndRunModSync_CTOJ(var2);
- if (var2.aErrCode != null) {
- var2.aErrCode.SetValue(var3);
- }
-
- this.CheckErrorCode(var3);
- return var4;
- }
- } catch (Throwable var6) {
- String var5 = "WARNING: Exception in JavaScript.DoExecuteSync()";
- HoldJavaEnvironment.AddToProtocol(var5);
- var5 = "Exception= " + var6;
- HoldJavaEnvironment.AddToProtocol(var5);
- if (var2.aErrCode != null) {
- var2.aErrCode.SetValue(-1);
- }
- }
-
- return null;
- }
-
- public Object DoExecuteSync(String var1, Object var2, SJCallByReference_String var3, SJCallByReference_int var4, SJCallByReference_boolean var5, boolean var6) {
- JScriptRunParam var7 = new JScriptRunParam();
- var7.aModule = (JScriptModule)var2;
- var7.aRetStrg = var3;
- var7.aErrCode = var4;
- var7.aErrInFirstStmt = var5;
- var7.bDbgFlag = var6;
- return this.DoExecuteSync(var1, var7);
- }
-
- public int DoExecuteAsync(String var1, Object var2, int var3) {
- return this.DoExecuteAsync(var1, var2, var3, false);
- }
-
- public int DoExecuteAsync(String var1, Object var2, int var3, boolean var4) {
- return this.AsyncRun(var1, (String)null, var2, var3, var4);
- }
-
- private void DoExecute(String var1) throws JSbxExceptionBase {
- if (this.aJScriptManager != null) {
- JScriptModule var2 = this.aJScriptManager.MakeModule(var1);
- var2.SetName("JSMOD_" + this.nNoOfModules++);
- this.aJScriptManager.DoCompileAndRunModAsync(var2, false);
- }
-
- }
-
- public void StartIDE() {
- if (this.aJScriptManager != null) {
- this.bUsedAsIDE = true;
- this.aJScriptManager.CreateUpDateIDEWindow();
- DoDelay(2000);
- }
-
- }
-
- public void DoStopJavaScriptEnvironment() {
- if (this.aJScriptManager != null) {
- int var1 = this.aJScriptManager.GetNoOfRTI();
- if (var1 > 0) {
- HoldJavaEnvironment.AddToProtocol("WARNING: number of RTI = " + var1);
- }
-
- this.aJScriptManager.StopManager();
- this.aJScriptManager.RemoveAllReferences();
- this.aJScriptManager = null;
- this.aThreadGroup = null;
- }
-
- }
-
- private void CheckErrorCode(int var1) {
- }
-
- public static void DoDelay(int var0) {
- try {
- Thread.sleep((long)var0);
- } catch (InterruptedException var1) {
- }
- }
-
- public int AsyncRun(String var1, String var2, Object var3, int var4, boolean var5) {
- JScriptRunAsync var6 = new JScriptRunAsync(this, var1, var2, var3, var4, var5);
- return var6 == null ? -9 : 0;
- }
-
- public native JScriptImageObject CreateImage(int var1, int var2);
-
- public native void DoCallback(int var1, String var2, int var3);
-
- public native void DebugCall(String var1);
-
- public static native String GetWatchdogMessageFromRes();
- }
-