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#include "pepper_interface_mock.h" 6 7PepperInterfaceMock::PepperInterfaceMock(PP_Instance instance) 8 : instance_(instance) { 9 // Initialize interfaces. 10#include "nacl_io/pepper/undef_macros.h" 11#include "nacl_io/pepper/define_empty_macros.h" 12#undef BEGIN_INTERFACE 13#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 14 BaseClass##interface_ = new BaseClass##Mock; 15#include "nacl_io/pepper/all_interfaces.h" 16} 17 18PepperInterfaceMock::~PepperInterfaceMock() { 19 // Delete interfaces. 20#include "nacl_io/pepper/undef_macros.h" 21#include "nacl_io/pepper/define_empty_macros.h" 22#undef BEGIN_INTERFACE 23#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 24 delete BaseClass##interface_; 25#include "nacl_io/pepper/all_interfaces.h" 26 27} 28 29PP_Instance PepperInterfaceMock::GetInstance() { 30 return instance_; 31} 32 33// Define Getter functions, constructors, destructors. 34#include "nacl_io/pepper/undef_macros.h" 35#include "nacl_io/pepper/define_empty_macros.h" 36#undef BEGIN_INTERFACE 37#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 38 BaseClass##Mock* PepperInterfaceMock::Get##BaseClass() { \ 39 return BaseClass##interface_; \ 40 } \ 41 BaseClass##Mock::BaseClass##Mock() { \ 42 } \ 43 BaseClass##Mock::~BaseClass##Mock() { \ 44 } 45#include "nacl_io/pepper/all_interfaces.h" 46 47