Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: ppapi/proxy/dispatcher.h

Issue 10572040: Create a PPAPI host for new resource message routing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/ppapi_internal.gyp ('k') | ppapi/proxy/dispatcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef PPAPI_PROXY_DISPATCHER_H_ 5 #ifndef PPAPI_PROXY_DISPATCHER_H_
6 #define PPAPI_PROXY_DISPATCHER_H_ 6 #define PPAPI_PROXY_DISPATCHER_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 // InterfaceProxy <---------------------- InterfaceProxy 44 // InterfaceProxy <---------------------- InterfaceProxy
45 // | 45 // |
46 class PPAPI_PROXY_EXPORT Dispatcher : public ProxyChannel { 46 class PPAPI_PROXY_EXPORT Dispatcher : public ProxyChannel {
47 public: 47 public:
48 virtual ~Dispatcher(); 48 virtual ~Dispatcher();
49 49
50 // Returns true if the dispatcher is on the plugin side, or false if it's the 50 // Returns true if the dispatcher is on the plugin side, or false if it's the
51 // browser side. 51 // browser side.
52 virtual bool IsPlugin() const = 0; 52 virtual bool IsPlugin() const = 0;
53 53
54 void AddFilter(IPC::Channel::Listener* listener);
55
54 VarSerializationRules* serialization_rules() const { 56 VarSerializationRules* serialization_rules() const {
55 return serialization_rules_.get(); 57 return serialization_rules_.get();
56 } 58 }
57 59
58 // Returns a non-owning pointer to the interface proxy for the given ID, or 60 // Returns a non-owning pointer to the interface proxy for the given ID, or
59 // NULL if the ID isn't found. This will create the proxy if it hasn't been 61 // NULL if the ID isn't found. This will create the proxy if it hasn't been
60 // created so far. 62 // created so far.
61 InterfaceProxy* GetInterfaceProxy(ApiID id); 63 InterfaceProxy* GetInterfaceProxy(ApiID id);
62 64
63 // Returns the pointer to the IO thread for processing IPC messages. 65 // Returns the pointer to the IO thread for processing IPC messages.
(...skipping 25 matching lines...) Expand all
89 void SetSerializationRules(VarSerializationRules* var_serialization_rules); 91 void SetSerializationRules(VarSerializationRules* var_serialization_rules);
90 92
91 // Called when an invalid message is received from the remote site. The 93 // Called when an invalid message is received from the remote site. The
92 // default implementation does nothing, derived classes can override. 94 // default implementation does nothing, derived classes can override.
93 virtual void OnInvalidMessageReceived(); 95 virtual void OnInvalidMessageReceived();
94 96
95 bool disallow_trusted_interfaces() const { 97 bool disallow_trusted_interfaces() const {
96 return disallow_trusted_interfaces_; 98 return disallow_trusted_interfaces_;
97 } 99 }
98 100
101 protected:
102 std::vector<IPC::Channel::Listener*> filters_;
103
99 private: 104 private:
100 friend class HostDispatcherTest; 105 friend class HostDispatcherTest;
101 friend class PluginDispatcherTest; 106 friend class PluginDispatcherTest;
102 107
103 // Lists all lazily-created interface proxies. 108 // Lists all lazily-created interface proxies.
104 scoped_ptr<InterfaceProxy> proxies_[API_ID_COUNT]; 109 scoped_ptr<InterfaceProxy> proxies_[API_ID_COUNT];
105 110
106 bool disallow_trusted_interfaces_; 111 bool disallow_trusted_interfaces_;
107 112
108 PP_GetInterface_Func local_get_interface_; 113 PP_GetInterface_Func local_get_interface_;
109 114
110 scoped_refptr<VarSerializationRules> serialization_rules_; 115 scoped_refptr<VarSerializationRules> serialization_rules_;
111 116
112 DISALLOW_COPY_AND_ASSIGN(Dispatcher); 117 DISALLOW_COPY_AND_ASSIGN(Dispatcher);
113 }; 118 };
114 119
115 } // namespace proxy 120 } // namespace proxy
116 } // namespace ppapi 121 } // namespace ppapi
117 122
118 #endif // PPAPI_PROXY_DISPATCHER_H_ 123 #endif // PPAPI_PROXY_DISPATCHER_H_
OLDNEW
« no previous file with comments | « ppapi/ppapi_internal.gyp ('k') | ppapi/proxy/dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698