diff options
Diffstat (limited to 'chrome/common/native_window_notification_source.h')
-rw-r--r-- | chrome/common/native_window_notification_source.h | 25 |
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_ |