Index: webrtc/base/messagequeue.h |
diff --git a/webrtc/base/messagequeue.h b/webrtc/base/messagequeue.h |
index 14cf29bb28d87ffe5b011d7101b4ddc27157fc73..628ce4433b824396c952400836d39bd8df023a6c 100644 |
--- a/webrtc/base/messagequeue.h |
+++ b/webrtc/base/messagequeue.h |
@@ -94,6 +94,19 @@ |
T data_; |
}; |
+// Like TypedMessageData, but for pointers that require a delete. |
+template <class T> |
+class ScopedMessageData : public MessageData { |
+ public: |
+ explicit ScopedMessageData(T* data) : data_(data) { } |
+ const std::unique_ptr<T>& data() const { return data_; } |
+ std::unique_ptr<T>& data() { return data_; } |
+ |
+ private: |
+ std::unique_ptr<T> data_; |
+}; |
+ |
+// Like ScopedMessageData, but for reference counted pointers. |
template <class T> |
class ScopedRefMessageData : public MessageData { |
public: |