summaryrefslogtreecommitdiffstats
path: root/chrome/common/hwnd_notification_source.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/hwnd_notification_source.h')
-rw-r--r--chrome/common/hwnd_notification_source.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/chrome/common/hwnd_notification_source.h b/chrome/common/hwnd_notification_source.h
new file mode 100644
index 0000000..63df703
--- /dev/null
+++ b/chrome/common/hwnd_notification_source.h
@@ -0,0 +1,24 @@
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_COMMON_HWND_NOTIFICATION_SOURCE_H_
+#define CHROME_COMMON_HWND_NOTIFICATION_SOURCE_H_
+
+#include "chrome/common/notification_source.h"
+
+// Specialization of the Source class for HWND. This is needed as the Source
+// class expects a pointer type.
+template<>
+class Source<HWND> : public NotificationSource {
+ public:
+ explicit Source(HWND hwnd) : NotificationSource(hwnd) {}
+
+ explicit Source(const NotificationSource& other)
+ : NotificationSource(other) {}
+
+ HWND operator->() const { return ptr(); }
+ HWND ptr() const { return static_cast<HWND>(ptr_); }
+};
+
+#endif // #define CHROME_COMMON_HWND_NOTIFICATION_SOURCE_H_