1 // Copyright 2014 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 #include "fake_ppapi/fake_pepper_interface.h"
6
7 #include "fake_ppapi/fake_resource_manager.h"
8
9 using namespace nacl_io;
10
11 namespace {
12
13 class FakeInstanceResource : public FakeResource {
14 public:
FakeInstanceResource()15 FakeInstanceResource() {}
classname()16 static const char* classname() { return "FakeInstanceResource"; }
17 };
18
19 }
20
FakePepperInterface()21 FakePepperInterface::FakePepperInterface()
22 : core_interface_(&resource_manager_),
23 messaging_interface_(&var_manager_, &var_interface_),
24 var_array_interface_(&var_manager_),
25 var_array_buffer_interface_(&var_manager_),
26 var_interface_(&var_manager_),
27 var_dictionary_interface_(&var_manager_,
28 &var_interface_,
29 &var_array_interface_),
30 resolver_interface_(this),
31 net_address_interface_(this) {
32 FakeInstanceResource* instance_resource = new FakeInstanceResource;
33 instance_ = CREATE_RESOURCE(&resource_manager_,
34 FakeInstanceResource,
35 instance_resource);
36 }
37
~FakePepperInterface()38 FakePepperInterface::~FakePepperInterface() {
39 core_interface_.ReleaseResource(instance_);
40 }
41
GetCoreInterface()42 CoreInterface* FakePepperInterface::GetCoreInterface() {
43 return &core_interface_;
44 }
45
GetVarArrayInterface()46 VarArrayInterface* FakePepperInterface::GetVarArrayInterface() {
47 return &var_array_interface_;
48 }
49
GetVarArrayBufferInterface()50 VarArrayBufferInterface* FakePepperInterface::GetVarArrayBufferInterface() {
51 return &var_array_buffer_interface_;
52 }
53
GetVarDictionaryInterface()54 VarDictionaryInterface* FakePepperInterface::GetVarDictionaryInterface() {
55 return &var_dictionary_interface_;
56 }
57
GetVarInterface()58 VarInterface* FakePepperInterface::GetVarInterface() {
59 return &var_interface_;
60 }
61
GetMessagingInterface()62 MessagingInterface* FakePepperInterface::GetMessagingInterface() {
63 return &messaging_interface_;
64 }
65
GetHostResolverInterface()66 HostResolverInterface* FakePepperInterface::GetHostResolverInterface() {
67 return &resolver_interface_;
68 }
69
GetNetAddressInterface()70 NetAddressInterface* FakePepperInterface::GetNetAddressInterface() {
71 return &net_address_interface_;
72 }
73