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