• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
17 class 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.
23 class AboutIPCBridge : public IPC::Logging::Consumer {
24  public:
AboutIPCBridge(AboutIPCController * controller)25   AboutIPCBridge(AboutIPCController* controller) : controller_(controller) { }
~AboutIPCBridge()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