1ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "pepper_interface_mock.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)PepperInterfaceMock::PepperInterfaceMock(PP_Instance instance) 8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) : instance_(instance) { 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Initialize interfaces. 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "nacl_io/pepper/undef_macros.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "nacl_io/pepper/define_empty_macros.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef BEGIN_INTERFACE 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) BaseClass##interface_ = new BaseClass##Mock; 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "nacl_io/pepper/all_interfaces.h" 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)PepperInterfaceMock::~PepperInterfaceMock() { 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Delete interfaces. 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "nacl_io/pepper/undef_macros.h" 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "nacl_io/pepper/define_empty_macros.h" 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef BEGIN_INTERFACE 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) delete BaseClass##interface_; 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "nacl_io/pepper/all_interfaces.h" 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)PP_Instance PepperInterfaceMock::GetInstance() { 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return instance_; 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Define Getter functions, constructors, destructors. 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "nacl_io/pepper/undef_macros.h" 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "nacl_io/pepper/define_empty_macros.h" 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#undef BEGIN_INTERFACE 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BaseClass##Mock* PepperInterfaceMock::Get##BaseClass() { \ 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return BaseClass##interface_; \ 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } \ 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BaseClass##Mock::BaseClass##Mock() { \ 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } \ 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BaseClass##Mock::~BaseClass##Mock() { \ 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "nacl_io/pepper/all_interfaces.h" 46eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 47