| // Copyright (c) 2012 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 PPAPI_PROXY_CONNECTION_H_ |
| #define PPAPI_PROXY_CONNECTION_H_ |
| |
| #include "ipc/ipc_message.h" |
| |
| namespace IPC { |
| class Sender; |
| } |
| |
| namespace ppapi { |
| namespace proxy { |
| |
| // This struct holds the channels that a resource uses to send message to the |
| // browser and renderer. |
| struct Connection { |
| Connection() : browser_sender(0), |
| renderer_sender(0), |
| in_process(false), |
| browser_sender_routing_id(MSG_ROUTING_NONE) { |
| } |
| Connection(IPC::Sender* browser, IPC::Sender* renderer) |
| : browser_sender(browser), |
| renderer_sender(renderer), |
| in_process(false), |
| browser_sender_routing_id(MSG_ROUTING_NONE) { |
| } |
| Connection(IPC::Sender* browser, IPC::Sender* renderer, int routing_id) |
| : browser_sender(browser), |
| renderer_sender(renderer), |
| in_process(true), |
| browser_sender_routing_id(routing_id) { |
| } |
| |
| IPC::Sender* browser_sender; |
| IPC::Sender* renderer_sender; |
| bool in_process; |
| // We need to use a routing ID when a plugin is in-process, and messages are |
| // sent back from the browser to the renderer. This is so that messages are |
| // routed to the proper RenderFrameImpl. |
| int browser_sender_routing_id; |
| }; |
| |
| } // namespace proxy |
| } // namespace ppapi |
| |
| |
| #endif // PPAPI_PROXY_CONNECTION_H_ |
| |