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

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, 6 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
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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 // InterfaceProxy <---------------------- InterfaceProxy 43 // InterfaceProxy <---------------------- InterfaceProxy
44 // | 44 // |
45 class PPAPI_PROXY_EXPORT Dispatcher : public ProxyChannel { 45 class PPAPI_PROXY_EXPORT Dispatcher : public ProxyChannel {
46 public: 46 public:
47 virtual ~Dispatcher(); 47 virtual ~Dispatcher();
48 48
49 // Returns true if the dispatcher is on the plugin side, or false if it's the 49 // Returns true if the dispatcher is on the plugin side, or false if it's the
50 // browser side. 50 // browser side.
51 virtual bool IsPlugin() const = 0; 51 virtual bool IsPlugin() const = 0;
52 52
53 void AddFilter(IPC::Channel::Listener* listener);
54
53 VarSerializationRules* serialization_rules() const { 55 VarSerializationRules* serialization_rules() const {
54 return serialization_rules_.get(); 56 return serialization_rules_.get();
55 } 57 }
56 58
57 // Returns a non-owning pointer to the interface proxy for the given ID, or 59 // Returns a non-owning pointer to the interface proxy for the given ID, or
58 // NULL if the ID isn't found. This will create the proxy if it hasn't been 60 // NULL if the ID isn't found. This will create the proxy if it hasn't been
59 // created so far. 61 // created so far.
60 InterfaceProxy* GetInterfaceProxy(ApiID id); 62 InterfaceProxy* GetInterfaceProxy(ApiID id);
61 63
62 // Returns the pointer to the IO thread for processing IPC messages. 64 // Returns the pointer to the IO thread for processing IPC messages.
(...skipping 25 matching lines...) Expand all
88 void SetSerializationRules(VarSerializationRules* var_serialization_rules); 90 void SetSerializationRules(VarSerializationRules* var_serialization_rules);
89 91
90 // Called when an invalid message is received from the remote site. The 92 // Called when an invalid message is received from the remote site. The
91 // default implementation does nothing, derived classes can override. 93 // default implementation does nothing, derived classes can override.
92 virtual void OnInvalidMessageReceived(); 94 virtual void OnInvalidMessageReceived();
93 95
94 bool disallow_trusted_interfaces() const { 96 bool disallow_trusted_interfaces() const {
95 return disallow_trusted_interfaces_; 97 return disallow_trusted_interfaces_;
96 } 98 }
97 99
100 protected:
101 std::vector<IPC::Channel::Listener*> filters_;
dmichael (off chromium) 2012/06/22 16:56:49 I don't think you're using this in this CL. Did it
brettw 2012/06/24 04:42:08 Actually, I'm not using anything in this CL yet :)
102
98 private: 103 private:
99 friend class HostDispatcherTest; 104 friend class HostDispatcherTest;
100 friend class PluginDispatcherTest; 105 friend class PluginDispatcherTest;
101 106
102 // Lists all lazily-created interface proxies. 107 // Lists all lazily-created interface proxies.
103 scoped_ptr<InterfaceProxy> proxies_[API_ID_COUNT]; 108 scoped_ptr<InterfaceProxy> proxies_[API_ID_COUNT];
104 109
105 bool disallow_trusted_interfaces_; 110 bool disallow_trusted_interfaces_;
106 111
107 PP_GetInterface_Func local_get_interface_; 112 PP_GetInterface_Func local_get_interface_;
108 113
109 scoped_refptr<VarSerializationRules> serialization_rules_; 114 scoped_refptr<VarSerializationRules> serialization_rules_;
110 115
111 DISALLOW_COPY_AND_ASSIGN(Dispatcher); 116 DISALLOW_COPY_AND_ASSIGN(Dispatcher);
112 }; 117 };
113 118
114 } // namespace proxy 119 } // namespace proxy
115 } // namespace ppapi 120 } // namespace ppapi
116 121
117 #endif // PPAPI_PROXY_DISPATCHER_H_ 122 #endif // PPAPI_PROXY_DISPATCHER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698