From a2e88a13a05a84beacf1f43d362be6ce1e2541ba Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr>
Date: Mon, 20 Apr 2009 08:13:24 +0000
Subject: [PATCH] Simulation: update

---
 src/remotesimulation/CommandParser.java       | 18 ++++-
 .../SimulationCommandSaveState.java           | 66 +++++++++++++++++++
 2 files changed, 83 insertions(+), 1 deletion(-)
 create mode 100755 src/remotesimulation/SimulationCommandSaveState.java

diff --git a/src/remotesimulation/CommandParser.java b/src/remotesimulation/CommandParser.java
index e4e780a089..f167f7a979 100755
--- a/src/remotesimulation/CommandParser.java
+++ b/src/remotesimulation/CommandParser.java
@@ -230,6 +230,14 @@ public class CommandParser {
 		sc = new SimulationCommand("raw-command", "rc", "", params, paramNames, "Sends a raw command to the remote simulator");
 		commandList.add(sc);
 		
+		// restore-simulation-state-from-file
+		params = new int[1];
+		paramNames = new String[1];
+		params[0] = 2;
+		paramNames[0] = "File name";
+		sc = new SimulationCommandSaveState("restore-simulation-state-from-file", "rssff", "9", params, paramNames, "Restores the simulation state from a file");
+		commandList.add(sc);
+		
 		// run-to-next-breakpoint
 		params = new int[0];
 		paramNames = new String[0];
@@ -251,7 +259,15 @@ public class CommandParser {
 		paramNames[0] = "File format: 0-> VCD, 1->HTML, 2->TXT";
 		params[1] = 2;
 		paramNames[1] = "File name";
-		sc = new SimulationCommand("save-trace-in-file", "stif", "7", params, paramNames, "Save the current trace of the simulation in a VCD, HTML or TXT file");
+		sc = new SimulationCommand("save-trace-in-file", "stif", "7", params, paramNames, "Saves the current trace of the simulation in a VCD, HTML or TXT file");
+		commandList.add(sc);
+		
+		// save-simulation-state-in-file
+		params = new int[1];
+		paramNames = new String[1];
+		params[0] = 2;
+		paramNames[0] = "File name";
+		sc = new SimulationCommandSaveState("save-simulation-state-in-file", "sssif", "8", params, paramNames, "Saves the current simulation state into a file");
 		commandList.add(sc);
 		
 		// stop
diff --git a/src/remotesimulation/SimulationCommandSaveState.java b/src/remotesimulation/SimulationCommandSaveState.java
new file mode 100755
index 0000000000..319bd3909e
--- /dev/null
+++ b/src/remotesimulation/SimulationCommandSaveState.java
@@ -0,0 +1,66 @@
+/**Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+*
+* ludovic.apvrille AT enst.fr
+*
+* This software is a computer program whose purpose is to allow the
+* edition of TURTLE analysis, design and deployment diagrams, to
+* allow the generation of RT-LOTOS or Java code from this diagram,
+* and at last to allow the analysis of formal validation traces
+* obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+* from INRIA Rhone-Alpes.
+*
+* This software is governed by the CeCILL  license under French law and
+* abiding by the rules of distribution of free software.  You can  use,
+* modify and/ or redistribute the software under the terms of the CeCILL
+* license as circulated by CEA, CNRS and INRIA at the following URL
+* "http://www.cecill.info".
+*
+* As a counterpart to the access to the source code and  rights to copy,
+* modify and redistribute granted by the license, users are provided only
+* with a limited warranty  and the software's author,  the holder of the
+* economic rights,  and the successive licensors  have only  limited
+* liability.
+*
+* In this respect, the user's attention is drawn to the risks associated
+* with loading,  using,  modifying and/or developing or reproducing the
+* software by the user in light of its specific status of free software,
+* that may mean  that it is complicated to manipulate,  and  that  also
+* therefore means  that it is reserved for developers  and  experienced
+* professionals having in-depth computer knowledge. Users are therefore
+* encouraged to load and test the software's suitability as regards their
+* requirements in conditions enabling the security of their systems and/or
+* data to be ensured and,  more generally, to use and operate it in the
+* same conditions as regards security.
+*
+* The fact that you are presently reading this means that you have had
+* knowledge of the CeCILL license and that you accept its terms.
+*
+* /**
+* Class SimulationCommand
+* Commands that can be sent to the remote simulator
+* Creation: 17/04/2009
+* @version 1.1 17/04/2009
+* @author Ludovic APVRILLE
+* @see
+*/
+
+package remotesimulation;
+
+import java.io.*;
+import java.net.*;
+import javax.swing.*;
+
+
+public class SimulationCommandSaveState extends SimulationCommand {
+
+    
+	public SimulationCommandSaveState(String _userCommand, String _alias, String _simulatorCommand, int _params[], String _paramNames[], String _help) {
+		super(_userCommand, _alias, _simulatorCommand, _params, _paramNames, _help);
+	}
+	
+	public String translateCommand(String cmds[]) {
+		String ret = super.translateCommand(cmds);
+		return ret + " 0";
+	}
+    
+}
\ No newline at end of file
-- 
GitLab