summaryrefslogtreecommitdiffstats
path: root/chrome/common/native_window_notification_source.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/native_window_notification_source.h')
-rw-r--r--chrome/common/native_window_notification_source.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/chrome/common/native_window_notification_source.h b/chrome/common/native_window_notification_source.h
new file mode 100644
index 0000000..0749728
--- /dev/null
+++ b/chrome/common/native_window_notification_source.h
@@ -0,0 +1,25 @@
+// 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_NATIVE_WINDOW_NOTIFICATION_SOURCE_H_
+#define CHROME_COMMON_NATIVE_WINDOW_NOTIFICATION_SOURCE_H_
+
+#include "base/gfx/native_widget_types.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<gfx::NativeWindow> : public NotificationSource {
+ public:
+ explicit Source(gfx::NativeWindow wnd) : NotificationSource(wnd) {}
+
+ explicit Source(const NotificationSource& other)
+ : NotificationSource(other) {}
+
+ HWND operator->() const { return ptr(); }
+ HWND ptr() const { return static_cast<gfx::NativeWindow>(ptr_); }
+};
+
+#endif // CHROME_COMMON_NATIVE_WINDOW_NOTIFICATION_SOURCE_H_