21 #include "visual-simulator-impl.h"
22 #include "ns3/default-simulator-impl.h"
31 NS_OBJECT_ENSURE_REGISTERED (VisualSimulatorImpl);
36 GetDefaultSimulatorImplFactory ()
39 factory.
SetTypeId (DefaultSimulatorImpl::GetTypeId ());
46 VisualSimulatorImpl::GetTypeId (
void)
50 .AddConstructor<VisualSimulatorImpl> ()
51 .AddAttribute (
"SimulatorImplFactory",
52 "Factory for the underlying simulator implementation used by the visualizer.",
54 MakeObjectFactoryAccessor (&VisualSimulatorImpl::m_simulatorImplFactory),
55 MakeObjectFactoryChecker ())
61 VisualSimulatorImpl::VisualSimulatorImpl ()
65 VisualSimulatorImpl::~VisualSimulatorImpl ()
74 m_simulator->Dispose ();
90 m_simulator->Destroy ();
96 m_simulator->SetScheduler (schedulerFactory);
103 return m_simulator->GetSystemId ();
109 return m_simulator->IsFinished ();
115 if (!Py_IsInitialized ())
117 const char *argv[] = {
"python", NULL};
119 PySys_SetArgv (1, (
char**) argv);
121 "import visualizer\n"
122 "visualizer.start();\n"
127 PyGILState_STATE __py_gil_state = PyGILState_Ensure ();
130 "import visualizer\n"
131 "visualizer.start();\n"
134 PyGILState_Release (__py_gil_state);
141 m_simulator->Stop ();
147 m_simulator->Stop (time);
156 return m_simulator->Schedule (time, event);
162 m_simulator->ScheduleWithContext (context, time, event);
168 return m_simulator->ScheduleNow (event);
174 return m_simulator->ScheduleDestroy (event);
180 return m_simulator->Now ();
186 return m_simulator->GetDelayLeft (
id);
192 m_simulator->Remove (
id);
198 m_simulator->Cancel (
id);
204 return m_simulator->IsExpired (ev);
210 return m_simulator->GetMaximumSimulationTime ();
216 return m_simulator->GetContext ();
void NotifyConstructionCompleted(void)
#define NS_LOG_COMPONENT_DEFINE(name)
void SetTypeId(TypeId tid)
virtual void DoDispose(void)
virtual void ScheduleWithContext(uint32_t context, Time const &time, EventImpl *event)
virtual void SetScheduler(ObjectFactory schedulerFactory)
hold objects of type ns3::ObjectFactory
virtual void Cancel(const EventId &ev)
virtual bool IsFinished(void) const
Ptr< Object > Create(void) const
virtual Time GetMaximumSimulationTime(void) const
virtual EventId Schedule(Time const &time, EventImpl *event)
virtual void Remove(const EventId &ev)
virtual Time GetDelayLeft(const EventId &id) const
virtual EventId ScheduleNow(EventImpl *event)
void RunRealSimulator(void)
calls Run() in the wrapped simulator
instantiate subclasses of ns3::Object.
an identifier for simulation events.
virtual bool IsExpired(const EventId &ev) const
virtual uint32_t GetSystemId(void) const
virtual Time Now(void) const
a unique identifier for an interface.
virtual uint32_t GetContext(void) const
virtual EventId ScheduleDestroy(EventImpl *event)
TypeId SetParent(TypeId tid)