NS3 ObjectBase类API说明

通常作为基类,派生其他类。
每个想要在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方法。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,871评论 6 13
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,631评论 25 709
  • 最近结识了一位同在大城市打拼的哥哥,因为是老乡,加之他的阿姨和母亲熟识,所以倍感亲切。而见面缘由也是要一起谋划做些...
    江楼钟晚阅读 3,599评论 6 13
  • 园丁本义是园艺劳动者,也常比作小学教师。假如你是园丁,你愿意浇灌多大的园子?你又会种出哪些园艺? 还处...
    W_纳阅读 3,446评论 0 0