diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-07 03:53:00 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-07 03:53:00 +0000 |
commit | 652e16d050c69adcf9a8e97912d8e554d49902bc (patch) | |
tree | d8702ed6cf5ec554872019563f1efdddc5fcc42e /chrome/common/notification_details.h | |
parent | 5b3e09dcf48a717eccca25d4a99036dcefb31001 (diff) | |
download | chromium_src-652e16d050c69adcf9a8e97912d8e554d49902bc.zip chromium_src-652e16d050c69adcf9a8e97912d8e554d49902bc.tar.gz chromium_src-652e16d050c69adcf9a8e97912d8e554d49902bc.tar.bz2 |
Move notification service code to content. We'll need to figure out how to split the type enum so that chrome specific parts aren't in content later.
TBR=avi
Review URL: http://codereview.chromium.org/6627043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77102 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/notification_details.h')
-rw-r--r-- | chrome/common/notification_details.h | 49 |
1 files changed, 2 insertions, 47 deletions
diff --git a/chrome/common/notification_details.h b/chrome/common/notification_details.h index 4d243cf..9a30bde 100644 --- a/chrome/common/notification_details.h +++ b/chrome/common/notification_details.h @@ -2,56 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// This file defines the type used to provide details for NotificationService -// notifications. - #ifndef CHROME_COMMON_NOTIFICATION_DETAILS_H__ #define CHROME_COMMON_NOTIFICATION_DETAILS_H__ #pragma once -#include "base/basictypes.h" - -// Do not declare a NotificationDetails directly--use either -// "Details<detailsclassname>(detailsclasspointer)" or -// NotificationService::NoDetails(). -class NotificationDetails { - public: - NotificationDetails(); - NotificationDetails(const NotificationDetails& other); - ~NotificationDetails(); - - // NotificationDetails can be used as the index for a map; this method - // returns the pointer to the current details as an identifier, for use as a - // map index. - uintptr_t map_key() const { return reinterpret_cast<uintptr_t>(ptr_); } - - bool operator!=(const NotificationDetails& other) const { - return ptr_ != other.ptr_; - } - - bool operator==(const NotificationDetails& other) const { - return ptr_ == other.ptr_; - } - - protected: - explicit NotificationDetails(const void* ptr); - - // Declaring this const allows Details<T> to be used with both T = Foo and - // T = const Foo. - const void* ptr_; -}; - -template <class T> -class Details : public NotificationDetails { - public: - // TODO(erg): Our code hard relies on implicit conversion - Details(T* ptr) : NotificationDetails(ptr) {} // NOLINT - Details(const NotificationDetails& other) // NOLINT - : NotificationDetails(other) {} - - T* operator->() const { return ptr(); } - // The casts here allow this to compile with both T = Foo and T = const Foo. - T* ptr() const { return static_cast<T*>(const_cast<void*>(ptr_)); } -}; +// TODO(jam): remove this file when all files have been converted. +#include "content/common/notification_details.h" #endif // CHROME_COMMON_NOTIFICATION_DETAILS_H__ |