wutils.py
changeset 6676 8a57344a8d09
parent 6624 a071889af159
child 6884 b7518424f22d
--- a/wutils.py	Thu Dec 02 07:20:34 2010 -0800
+++ b/wutils.py	Mon Dec 06 17:26:06 2010 +0000
@@ -100,10 +100,11 @@
             proc_env[pathvar] = os.pathsep.join(list(env['NS3_MODULE_PATH']))
 
     pymoddir = bld.path.find_dir('bindings/python').abspath(env)
+    pyvizdir = bld.path.find_dir('src/tools/visualizer').abspath()
     if 'PYTHONPATH' in proc_env:
-        proc_env['PYTHONPATH'] = os.pathsep.join([pymoddir] + [proc_env['PYTHONPATH']])
+        proc_env['PYTHONPATH'] = os.pathsep.join([pymoddir, pyvizdir] + [proc_env['PYTHONPATH']])
     else:
-        proc_env['PYTHONPATH'] = pymoddir
+        proc_env['PYTHONPATH'] = os.pathsep.join([pymoddir, pyvizdir])
 
     if 'PATH' in proc_env:
         proc_env['PATH'] = os.pathsep.join(list(env['NS3_EXECUTABLE_PATH']) + [proc_env['PATH']])
@@ -201,7 +202,7 @@
         #print "%r ==shlex.split==> %r" % (command_template % (program_node.abspath(env),), execvec)
     return program_name, execvec
 
-def run_program(program_string, env, command_template=None, cwd=None):
+def run_program(program_string, env, command_template=None, cwd=None, visualize=False):
     """
     if command_template is not None, then program_string == program
     name and argv is given by command_template with %s replaced by the
@@ -214,17 +215,21 @@
             cwd = Options.options.cwd_launch
         else:
             cwd = Options.cwd_launch
+    if visualize:
+        execvec.append("--SimulatorImplementationType=ns3::VisualSimulatorImpl")
     return run_argv(execvec, env, cwd=cwd)
 
 
 
-def run_python_program(program_string, env):
+def run_python_program(program_string, env, visualize=False):
     env = bld.env
     execvec = shlex.split(program_string)
     if (Options.options.cwd_launch):
         cwd = Options.options.cwd_launch
     else:
         cwd = Options.cwd_launch
+    if visualize:
+        execvec.append("--SimulatorImplementationType=ns3::VisualSimulatorImpl")
     return run_argv([env['PYTHON']] + execvec, env, cwd=cwd)