From cb3ec490a5598ececb915dff9d51f3a72cc80954 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Fri, 25 May 2007 10:52:58 +0200 Subject: [PATCH] make QueryInterface const --- src/core/object.cc | 6 +++--- src/core/object.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/object.cc b/src/core/object.cc index aee9e7473..4ea9dbae9 100644 --- a/src/core/object.cc +++ b/src/core/object.cc @@ -110,10 +110,10 @@ Object::~Object () m_next = 0; } Ptr -Object::DoQueryInterface (InterfaceId iid) +Object::DoQueryInterface (InterfaceId iid) const { NS_ASSERT (Check ()); - Object *currentObject = this; + const Object *currentObject = this; do { NS_ASSERT (currentObject != 0); InterfaceId cur = currentObject->m_iid; @@ -123,7 +123,7 @@ Object::DoQueryInterface (InterfaceId iid) } if (cur == iid) { - return currentObject; + return const_cast (currentObject); } currentObject = currentObject->m_next; } while (currentObject != this); diff --git a/src/core/object.h b/src/core/object.h index 559520486..c0a282a3a 100644 --- a/src/core/object.h +++ b/src/core/object.h @@ -55,14 +55,14 @@ public: inline void Ref (void) const; inline void Unref (void) const; template - Ptr QueryInterface (InterfaceId iid); + Ptr QueryInterface (InterfaceId iid) const; void Dispose (void); void AddInterface (Ptr other); protected: void SetInterfaceId (InterfaceId iid); virtual void DoDispose (void); private: - Ptr DoQueryInterface (InterfaceId iid); + Ptr DoQueryInterface (InterfaceId iid) const; bool Check (void) const; void MaybeDelete (void) const; mutable uint32_t m_count; @@ -92,7 +92,7 @@ Object::Unref (void) const template Ptr -Object::QueryInterface (InterfaceId iid) +Object::QueryInterface (InterfaceId iid) const { Ptr found = DoQueryInterface (iid); if (found != 0)