Home | History | Annotate | Download | only in proxy
      1 // Copyright (c) 2013 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 PPAPI_PROXY_NETWORK_PROXY_RESOURCE_H_
      6 #define PPAPI_PROXY_NETWORK_PROXY_RESOURCE_H_
      7 
      8 #include "ppapi/proxy/plugin_resource.h"
      9 #include "ppapi/proxy/ppapi_proxy_export.h"
     10 #include "ppapi/thunk/ppb_network_proxy_api.h"
     11 
     12 namespace ppapi {
     13 namespace proxy {
     14 
     15 // The proxy-side resource for PPB_NetworkProxy.
     16 class PPAPI_PROXY_EXPORT NetworkProxyResource
     17       : public PluginResource,
     18         public thunk::PPB_NetworkProxy_API {
     19  public:
     20   NetworkProxyResource(Connection connection, PP_Instance instance);
     21   virtual ~NetworkProxyResource();
     22 
     23  private:
     24   // Resource implementation.
     25   virtual thunk::PPB_NetworkProxy_API* AsPPB_NetworkProxy_API() OVERRIDE;
     26 
     27   // PPB_NetworkProxy_API implementation.
     28   virtual int32_t GetProxyForURL(
     29       PP_Instance instance,
     30       PP_Var url,
     31       PP_Var* proxy_string,
     32       scoped_refptr<TrackedCallback> callback) OVERRIDE;
     33 
     34   void OnPluginMsgGetProxyForURLReply(PP_Var* proxy_string_out_param,
     35                                       scoped_refptr<TrackedCallback> callback,
     36                                       const ResourceMessageReplyParams& params,
     37                                       const std::string& proxy_string);
     38 
     39   DISALLOW_COPY_AND_ASSIGN(NetworkProxyResource);
     40 };
     41 
     42 }  // namespace proxy
     43 }  // namespace ppapi
     44 
     45 #endif  // PPAPI_PROXY_NETWORK_PROXY_RESOURCE_H_
     46