diff --git a/ipc/chromium/src/chrome/common/notification_details.h b/ipc/chromium/src/chrome/common/notification_details.h deleted file mode 100644 index 39223d207a5d..000000000000 --- a/ipc/chromium/src/chrome/common/notification_details.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -// 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. - -// This file defines the type used to provide details for NotificationService -// notifications. - -#ifndef CHROME_COMMON_NOTIFICATION_DETAILS_H__ -#define CHROME_COMMON_NOTIFICATION_DETAILS_H__ - -#include "base/basictypes.h" - -// Do not declare a NotificationDetails directly--use either -// "Details(detailsclasspointer)" or -// NotificationService::NoDetails(). -class NotificationDetails { - public: - NotificationDetails() : ptr_(NULL) {} - NotificationDetails(const NotificationDetails& other) : ptr_(other.ptr_) {} - ~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(ptr_); } - - bool operator!=(const NotificationDetails& other) const { - return ptr_ != other.ptr_; - } - - bool operator==(const NotificationDetails& other) const { - return ptr_ == other.ptr_; - } - - protected: - explicit NotificationDetails(void* ptr) : ptr_(ptr) {} - - void* ptr_; -}; - -template -class Details : public NotificationDetails { - public: - explicit Details(T* ptr) : NotificationDetails(ptr) {} - explicit Details(const NotificationDetails& other) - : NotificationDetails(other) {} - - T* operator->() const { return ptr(); } - T* ptr() const { return static_cast(ptr_); } -}; - -#endif // CHROME_COMMON_NOTIFICATION_DETAILS_H__ diff --git a/ipc/chromium/src/chrome/common/notification_observer.h b/ipc/chromium/src/chrome/common/notification_observer.h deleted file mode 100644 index c0d267d5a4c0..000000000000 --- a/ipc/chromium/src/chrome/common/notification_observer.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -// Copyright (c) 2009 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_NOTIFICATION_OBSERVER_H_ -#define CHROME_COMMON_NOTIFICATION_OBSERVER_H_ - -class NotificationDetails; -class NotificationSource; -class NotificationType; - -// This is the base class for notification observers. When a matching -// notification is posted to the notification service, Observe is called. -class NotificationObserver { - public: - virtual ~NotificationObserver(); - - virtual void Observe(NotificationType type, - const NotificationSource& source, - const NotificationDetails& details) = 0; -}; - -#endif // CHROME_COMMON_NOTIFICATION_OBSERVER_H_ diff --git a/ipc/chromium/src/chrome/common/notification_registrar.h b/ipc/chromium/src/chrome/common/notification_registrar.h deleted file mode 100644 index bb9199b14fde..000000000000 --- a/ipc/chromium/src/chrome/common/notification_registrar.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -// 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_NOTIFICATION_REGISTRAR_H_ -#define CHROME_COMMON_NOTIFICATION_REGISTRAR_H_ - -#include - -#include "base/basictypes.h" -#include "chrome/common/notification_observer.h" - -// Aids in registering for notifications and ensures that all registered -// notifications are unregistered when the class is destroyed. -// -// The intended use is that you make a NotificationRegistrar member in your -// class and use it to register your notifications instead of going through the -// notification service directly. It will automatically unregister them for -// you. -class NotificationRegistrar { - public: - // This class must not be derived from (we don't have a virtual destructor so - // it won't work). Instead, use it as a member in your class. - NotificationRegistrar(); - ~NotificationRegistrar(); - - // Wrappers around NotificationService::[Add|Remove]Observer. - void Add(NotificationObserver* observer, - NotificationType type, - const NotificationSource& source); - void Remove(NotificationObserver* observer, - NotificationType type, - const NotificationSource& source); - - // Unregisters all notifications. - void RemoveAll(); - - private: - struct Record; - - // We keep registered notifications in a simple vector. This means we'll do - // brute-force searches when removing them individually, but individual - // removal is uncommon, and there will typically only be a couple of - // notifications anyway. - typedef std::vector RecordVector; - - // Lists all notifications we're currently registered for. - RecordVector registered_; - - DISALLOW_COPY_AND_ASSIGN(NotificationRegistrar); -}; - -#endif // CHROME_COMMON_NOTIFICATION_REGISTRAR_H_ diff --git a/ipc/chromium/src/chrome/common/notification_source.h b/ipc/chromium/src/chrome/common/notification_source.h deleted file mode 100644 index 5c62fee9fa72..000000000000 --- a/ipc/chromium/src/chrome/common/notification_source.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -// 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. - -// This file defines the type used to provide sources for NotificationService -// notifications. - -#ifndef CHROME_COMMON_NOTIFICATION_SOURCE_H__ -#define CHROME_COMMON_NOTIFICATION_SOURCE_H__ - -#include "base/basictypes.h" - -// Do not declare a NotificationSource directly--use either -// "Source(sourceclasspointer)" or -// NotificationService::AllSources(). -class NotificationSource { - public: - NotificationSource(const NotificationSource& other) : ptr_(other.ptr_) { } - ~NotificationSource() {} - - // NotificationSource can be used as the index for a map; this method - // returns the pointer to the current source as an identifier, for use as a - // map index. - uintptr_t map_key() const { return reinterpret_cast(ptr_); } - - bool operator!=(const NotificationSource& other) const { - return ptr_ != other.ptr_; - } - bool operator==(const NotificationSource& other) const { - return ptr_ == other.ptr_; - } - - protected: - explicit NotificationSource(void* ptr) : ptr_(ptr) {} - - void* ptr_; -}; - -template -class Source : public NotificationSource { - public: - explicit Source(T* ptr) : NotificationSource(ptr) {} - - explicit Source(const NotificationSource& other) - : NotificationSource(other) {} - - T* operator->() const { return ptr(); } - T* ptr() const { return static_cast(ptr_); } -}; - -#endif // CHROME_COMMON_NOTIFICATION_SOURCE_H__