1// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_ 6#define CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_ 7#pragma once 8 9#include "ipc/ipc_logging.h" 10#include "ipc/ipc_message_utils.h" 11 12#if defined(IPC_MESSAGE_LOG_ENABLED) 13 14#ifdef __OBJC__ 15@class AboutIPCController; 16#else 17class AboutIPCController; 18#endif 19 20 21// On Windows, the AboutIPCDialog is a views::View. On Mac we have a 22// Cocoa dialog. This class bridges from C++ to ObjC. 23class AboutIPCBridge : public IPC::Logging::Consumer { 24 public: 25 AboutIPCBridge(AboutIPCController* controller) : controller_(controller) { } 26 virtual ~AboutIPCBridge() { } 27 28 // IPC::Logging::Consumer implementation. 29 virtual void Log(const IPC::LogData& data); 30 31 private: 32 AboutIPCController* controller_; // weak; owns me 33 DISALLOW_COPY_AND_ASSIGN(AboutIPCBridge); 34}; 35 36#endif // IPC_MESSAGE_LOG_ENABLED 37 38#endif // CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_ 39