[telepathy-qt4/master] shared-ptr: Added cast helper methods.
Andre Moreira Magalhaes (andrunko)
andre.magalhaes at collabora.co.uk
Mon Apr 13 11:14:14 PDT 2009
---
TelepathyQt4/shared-ptr.h | 18 ++++++++++++++++++
tests/dbus/streamed-media-chan.cpp | 3 +--
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/TelepathyQt4/shared-ptr.h b/TelepathyQt4/shared-ptr.h
index 2809843..73da246 100644
--- a/TelepathyQt4/shared-ptr.h
+++ b/TelepathyQt4/shared-ptr.h
@@ -117,6 +117,24 @@ public:
o.d = tmp;
}
+ template <class X>
+ static inline SharedPtr<T> staticCast(const SharedPtr<X> &src)
+ {
+ return SharedPtr<T>(static_cast<T*>(src.data()));
+ }
+
+ template <class X>
+ static inline SharedPtr<T> dynamicCast(const SharedPtr<X> &src)
+ {
+ return SharedPtr<T>(dynamic_cast<T*>(src.data()));
+ }
+
+ template <class X>
+ static inline SharedPtr<T> constCast(const SharedPtr<X> &src)
+ {
+ return SharedPtr<T>(const_cast<T*>(src.data()));
+ }
+
private:
friend class WeakPtr<T>;
diff --git a/tests/dbus/streamed-media-chan.cpp b/tests/dbus/streamed-media-chan.cpp
index 8427cca..e3d92da 100644
--- a/tests/dbus/streamed-media-chan.cpp
+++ b/tests/dbus/streamed-media-chan.cpp
@@ -128,8 +128,7 @@ void TestStreamedMediaChan::expectCreateChannelFinished(PendingOperation* op)
}
PendingChannel *pc = qobject_cast<PendingChannel*>(op);
- mChan = StreamedMediaChannelPtr(
- dynamic_cast<StreamedMediaChannel*>(pc->channel().data()));
+ mChan = StreamedMediaChannelPtr::dynamicCast(pc->channel());
mLoop->exit(0);
}
--
1.5.6.5
More information about the telepathy-commits
mailing list