avoid direct access to Object::m_tid. Use ObjectBase::GetInstanceTypeId instead.

This commit is contained in:
Mathieu Lacage
2008-07-08 14:27:45 -07:00
parent 178567b32b
commit 3d6e4532ae
2 changed files with 6 additions and 5 deletions

View File

@@ -113,7 +113,7 @@ Object::DoGetObject (TypeId tid) const
const Object *currentObject = this;
do {
NS_ASSERT (currentObject != 0);
TypeId cur = currentObject->m_tid;
TypeId cur = currentObject->GetInstanceTypeId ();
while (cur != tid && cur != Object::GetTypeId ())
{
cur = cur.GetParent ();
@@ -146,10 +146,11 @@ Object::AggregateObject (Ptr<Object> o)
NS_ASSERT (CheckLoose ());
NS_ASSERT (o->CheckLoose ());
if (DoGetObject (o->m_tid))
if (DoGetObject (o->GetInstanceTypeId ()))
{
NS_FATAL_ERROR ("Object::AggregateObject(): "
"Multiple aggregation of objects of type " << o->m_tid.GetName ());
"Multiple aggregation of objects of type " <<
o->GetInstanceTypeId ().GetName ());
}
Object *other = PeekPointer (o);

View File

@@ -379,7 +379,7 @@ template <typename T>
Ptr<T> CopyObject (Ptr<T> object)
{
Ptr<T> p = Ptr<T> (new T (*PeekPointer (object)), false);
NS_ASSERT (p->m_tid == object->m_tid);
NS_ASSERT (p->GetInstanceTypeId () == object->GetInstanceTypeId ());
return p;
}
@@ -387,7 +387,7 @@ template <typename T>
Ptr<T> CopyObject (Ptr<const T> object)
{
Ptr<T> p = Ptr<T> (new T (*PeekPointer (object)), false);
NS_ASSERT (p->m_tid == object->m_tid);
NS_ASSERT (p->GetInstanceTypeId () == object->GetInstanceTypeId ());
return p;
}