通常作为基类,派生其他类。
每个想要在ns-3类型和属性系统中集成的类都应该从这个基类派生。 这个基类提供:
将ns3 :: TypeId与每个对象实例相关联的方法。
一种设置和获取在ns3 :: TypeId中注册的属性的方法。
公共方法:
virtual ~ObjectBase ()
static TypeId GetTypeId (void)
void GetAttribute (std::string name, AttributeValue &value) const
获取属性值,如果失败,则导致致命的error。
这将成功设置属性,否则,将导致NS_FATAL_ERROR():
该对象中不存在该属性。
无法读取该属性(无Getter)。
该属性不支持字符串格式。
该属性无法序列化到AttributeValue中。
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
获取属性值,如果失败,返回false。
virtual TypeId GetInstanceTypeId (void) const =0
获取对象的派生类的TypeId.
void SetAttribute (std::string name, const AttributeValue &value)
设置属性,如果失败,导致致命的错误。
这将成功设置属性,否则将导致NS_FATAL_ERROR():
该对象中不存在该属性。
不能设置该属性(没有Setter)。
该属性无法从AttributeValue反序列化。
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
设置属性,如果失败,返回false。
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
Connect a TraceSource to a Callback with a context.
连接一个Trace源到context情景下的回调中。
目标跟踪源应该使用TypeId :: Add TraceSource注册。
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
Connect a TraceSource to a Callback without a context.
连接一个Trace源到回调中,无context。
目标跟踪源应该使用TypeId :: Add TraceSource注册。
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
Disconnect from a TraceSource a Callback previously connected with a context.
断开连接
目标跟踪源应该使用TypeId :: Add TraceSource注册。
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
Disconnect from a TraceSource a Callback previously connected without a context.
断开连接
目标跟踪源应该使用TypeId :: Add TraceSource注册。
保护方法:
void ConstructSelf (const AttributeConstructionList &attributes)
Complete construction of ObjectBase; invoked by derived classes.
完成ObjectBase的构建; 由派生类调用。
从子类调用以初始化其所有属性成员。 如果你的类派生自ns3 :: Object,这个方法通常会从
ns3 :: CreateObject自动调用。 如果你直接从ns3 :: ObjectBase派生,你应该确保你从你的大
多数派生的构造函数调用这个方法。
virtual void NotifyConstructionCompleted (void)
Notifier called once the ObjectBase is fully constructed.
对象完成构造后回调该函数。
所有成员属性初始化后,将调用此方法。 子类可以覆盖此方法以通知此事件,
但如果它们这样做,它们必须链接到其父NotifyConstructionCompleted方法。