+ {
+ Interpreter_OK,
+ Interpreter_ERROR,
+ Interpreter_QUIT
+ }
+ ExitStatus;
+
+ /// Runs the interpretation of a file
+ ExitStatus InterpretFile( const std::string& filename);
+
+ /// Runs the interpretation of a buffer and deletes it !
+ ExitStatus InterpretBuffer( std::stringstream* buffer );
+
+ /// Runs the interpretation of a command
+ ExitStatus InterpretLine( const std::string& line );
+
+
+ /// Launches a command line interpreter (with a prompt)
+ void CommandLineInterpreter();
+
+
+
+ /// Sets the inputs of the workspace :
+ /// the map is passed as is to the Executer
+ void SetInputs(const std::map<std::string,std::string>& m)
+ { mExecuter->SetInputs(m); }
+
+ /// Puts the executer in "no exec" mode,
+ /// which creates but does not execute pipelines.
+ void SetNoExecMode(bool b) { mExecuter->SetNoExecMode(b); }
+
+ ///
+ //typedef Executer::DialogModeType DialogModeType;
+ typedef VirtualExec::DialogModeType DialogModeType;
+
+ void SetDialogMode(DialogModeType t) { mExecuter->SetDialogMode(t); }
+
+ /// Sets the bool that indicates wether we are in command line context
+ void SetCommandLine(bool v = true) { mCommandLine = v; }
+
+ void SetThrow(bool b) { mThrow = b; }
+
+#ifdef _USE_WXWIDGETS_
+ /// Sets the user of the interpreter (if any)
+ void SetUser(InterpreterUser* c) { mUser = c; }
+ /// Gets the InterpreterUser of this
+ InterpreterUser* GetUser() { return mUser; }
+ /// Gets the InterpreterUser of this (const)
+ const InterpreterUser* GetUser() const { return mUser; }
+
+#endif
+
+ /// Gets the Executer
+ VirtualExec::Pointer GetExecuter() const { return mExecuter; }
+
+
+ protected:
+
+ /// The enumeration of command codes == Command name
+ typedef enum