network_list_resource.h revision 68043e1e95eeb07d5cae7aca370b26518b0867d6
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 3// found in the LICENSE file. 4 5#ifndef PPAPI_PROXY_NETWORK_LIST_RESOURCE_H_ 6#define PPAPI_PROXY_NETWORK_LIST_RESOURCE_H_ 7 8#include <string> 9#include <vector> 10 11#include "base/basictypes.h" 12#include "base/memory/ref_counted.h" 13#include "ppapi/c/private/ppb_net_address_private.h" 14#include "ppapi/proxy/ppapi_proxy_export.h" 15#include "ppapi/proxy/serialized_structs.h" 16#include "ppapi/shared_impl/resource.h" 17#include "ppapi/thunk/ppb_network_list_api.h" 18 19namespace ppapi { 20namespace proxy { 21 22class NetworkListResource 23 : public Resource, 24 public thunk::PPB_NetworkList_API { 25 public: 26 NetworkListResource(PP_Instance instance, 27 const SerializedNetworkList& list); 28 virtual ~NetworkListResource(); 29 30 // Resource override. 31 virtual thunk::PPB_NetworkList_API* AsPPB_NetworkList_API() OVERRIDE; 32 33 // PPB_NetworkList_API implementation. 34 virtual uint32_t GetCount() OVERRIDE; 35 virtual PP_Var GetName(uint32_t index) OVERRIDE; 36 virtual PP_NetworkList_Type GetType(uint32_t index) OVERRIDE; 37 virtual PP_NetworkList_State GetState(uint32_t index) OVERRIDE; 38 virtual int32_t GetIpAddresses(uint32_t index, 39 const PP_ArrayOutput& output) OVERRIDE; 40 virtual PP_Var GetDisplayName(uint32_t index) OVERRIDE; 41 virtual uint32_t GetMTU(uint32_t index) OVERRIDE; 42 43 private: 44 SerializedNetworkList list_; 45 46 DISALLOW_COPY_AND_ASSIGN(NetworkListResource); 47}; 48 49} // namespace proxy 50} // namespace ppapi 51 52#endif // PPAPI_PROXY_NETWORK_LIST_RESOURCE_H_ 53