30c30,32
< import atexit, os, sys
---
> import atexit
> import os
> import sys
37c39
< from internal.main import simulate, SimLoopExitEvent
---
> from internal.event import SimLoopExitEvent
88c90,96
< internal.main.loadIniFile(resolveSimObject) # load config.ini into C++
---
>
> # load config.ini into C++
> internal.core.loadIniFile(resolveSimObject)
>
> # Initialize the global statistics
> internal.stats.initSimStats()
>
91,101d98
< internal.main.finalInit()
< noDot = True # temporary until we fix dot
< if not noDot:
< dot = pydot.Dot()
< instance.outputDot(dot)
< dot.orientation = "portrait"
< dot.size = "8.5,11"
< dot.ranksep="equally"
< dot.rank="samerank"
< dot.write("config.dot")
< dot.write_ps("config.ps")
102a100,136
> # Do a second pass to finish initializing the sim objects
> internal.sim_object.initAll()
>
> # Do a third pass to initialize statistics
> internal.sim_object.regAllStats()
>
> # Check to make sure that the stats package is properly initialized
> internal.stats.check()
>
> # Reset to put the stats in a consistent state.
> internal.stats.reset()
>
> def doDot(root):
> dot = pydot.Dot()
> instance.outputDot(dot)
> dot.orientation = "portrait"
> dot.size = "8.5,11"
> dot.ranksep="equally"
> dot.rank="samerank"
> dot.write("config.dot")
> dot.write_ps("config.ps")
>
> need_resume = []
> need_startup = True
> def simulate(*args, **kwargs):
> global need_resume, need_startup
>
> if need_startup:
> internal.core.SimStartup()
> need_startup = False
>
> for root in need_resume:
> resume(root)
> need_resume = []
>
> return internal.event.simulate(*args, **kwargs)
>
105c139
< return internal.main.cvar.curTick
---
> return internal.event.cvar.curTick
108c142,143
< atexit.register(internal.main.doExitCleanup)
---
> atexit.register(internal.core.doExitCleanup)
> atexit.register(internal.stats.dump)
122c157
< drain_event = internal.main.createCountedDrain()
---
> drain_event = internal.event.createCountedDrain()
130c165
< internal.main.cleanupCountedDrain(drain_event)
---
> internal.event.cleanupCountedDrain(drain_event)
138c173
< raise TypeError, "Object is not a root object. Checkpoint must be called on a root object."
---
> raise TypeError, "Checkpoint must be called on a root object."
141c176
< internal.main.serializeAll(dir)
---
> internal.sim_object.serializeAll(dir)
146,147c181,182
< internal.main.unserializeAll(dir)
< resume(root)
---
> internal.sim_object.unserializeAll(dir)
> need_resume.append(root)
155c190
< system.changeTiming(internal.main.SimObject.Atomic)
---
> system.changeTiming(internal.sim_object.SimObject.Atomic)
163c198
< system.changeTiming(internal.main.SimObject.Timing)
---
> system.changeTiming(internal.sim_object.SimObject.Timing)
183c218
< drain_event = internal.main.createCountedDrain()
---
> drain_event = internal.event.createCountedDrain()
191c226
< internal.main.cleanupCountedDrain(drain_event)
---
> internal.event.cleanupCountedDrain(drain_event)
200a236,243
> def dumpStats():
> print 'Dumping stats'
> internal.stats.dump()
>
> def resetStats():
> print 'Resetting stats'
> internal.stats.reset()
>