OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ppapi/proxy/dispatcher.h" | 5 #include "ppapi/proxy/dispatcher.h" |
6 | 6 |
7 #include <string.h> // For memset. | 7 #include <string.h> // For memset. |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 | 10 |
11 #include "base/compiler_specific.h" | 11 #include "base/compiler_specific.h" |
12 #include "base/logging.h" | 12 #include "base/logging.h" |
13 #include "base/memory/singleton.h" | 13 #include "base/memory/singleton.h" |
14 #include "ppapi/proxy/ppapi_messages.h" | 14 #include "ppapi/proxy/ppapi_messages.h" |
15 #include "ppapi/proxy/var_serialization_rules.h" | 15 #include "ppapi/proxy/var_serialization_rules.h" |
16 | 16 |
17 namespace ppapi { | 17 namespace ppapi { |
18 namespace proxy { | 18 namespace proxy { |
19 | 19 |
20 Dispatcher::Dispatcher(PP_GetInterface_Func local_get_interface) | 20 Dispatcher::Dispatcher(PP_GetInterface_Func local_get_interface) |
21 : disallow_trusted_interfaces_(false), // TODO(brettw) make this settable. | 21 : disallow_trusted_interfaces_(false), // TODO(brettw) make this settable. |
22 local_get_interface_(local_get_interface) { | 22 local_get_interface_(local_get_interface) { |
23 } | 23 } |
24 | 24 |
25 Dispatcher::~Dispatcher() { | 25 Dispatcher::~Dispatcher() { |
26 } | 26 } |
27 | 27 |
| 28 void Dispatcher::AddFilter(IPC::Channel::Listener* listener) { |
| 29 filters_.push_back(listener); |
| 30 } |
| 31 |
28 InterfaceProxy* Dispatcher::GetInterfaceProxy(ApiID id) { | 32 InterfaceProxy* Dispatcher::GetInterfaceProxy(ApiID id) { |
29 InterfaceProxy* proxy = proxies_[id].get(); | 33 InterfaceProxy* proxy = proxies_[id].get(); |
30 if (!proxy) { | 34 if (!proxy) { |
31 // Handle the first time for a given API by creating the proxy for it. | 35 // Handle the first time for a given API by creating the proxy for it. |
32 InterfaceProxy::Factory factory = | 36 InterfaceProxy::Factory factory = |
33 InterfaceList::GetInstance()->GetFactoryForID(id); | 37 InterfaceList::GetInstance()->GetFactoryForID(id); |
34 if (!factory) { | 38 if (!factory) { |
35 NOTREACHED(); | 39 NOTREACHED(); |
36 return NULL; | 40 return NULL; |
37 } | 41 } |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 void Dispatcher::SetSerializationRules( | 76 void Dispatcher::SetSerializationRules( |
73 VarSerializationRules* var_serialization_rules) { | 77 VarSerializationRules* var_serialization_rules) { |
74 serialization_rules_ = var_serialization_rules; | 78 serialization_rules_ = var_serialization_rules; |
75 } | 79 } |
76 | 80 |
77 void Dispatcher::OnInvalidMessageReceived() { | 81 void Dispatcher::OnInvalidMessageReceived() { |
78 } | 82 } |
79 | 83 |
80 } // namespace proxy | 84 } // namespace proxy |
81 } // namespace ppapi | 85 } // namespace ppapi |
OLD | NEW |