pepper_interface_mock.cc revision f2477e01787aa58f445919b809d89e252beef54f
19682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// Copyright (c) 2012 The Chromium Authors. All rights reserved. 29682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// Use of this source code is governed by a BSD-style license that can be 39682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// found in the LICENSE file. 49682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 59682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "pepper_interface_mock.h" 69682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 79682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallPepperInterfaceMock::PepperInterfaceMock(PP_Instance instance) 89682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall : instance_(instance) { 99682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall // Initialize interfaces. 109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "nacl_io/pepper/undef_macros.h" 119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "nacl_io/pepper/define_empty_macros.h" 129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef BEGIN_INTERFACE 139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BaseClass##interface_ = new BaseClass##Mock; 159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "nacl_io/pepper/all_interfaces.h" 169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} 179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallPepperInterfaceMock::~PepperInterfaceMock() { 199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall // Delete interfaces. 209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "nacl_io/pepper/undef_macros.h" 219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "nacl_io/pepper/define_empty_macros.h" 229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef BEGIN_INTERFACE 239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall delete BaseClass##interface_; 259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "nacl_io/pepper/all_interfaces.h" 269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} 289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallPP_Instance PepperInterfaceMock::GetInstance() { 309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall return instance_; 319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} 329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// Define Getter functions, constructors, destructors. 349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "nacl_io/pepper/undef_macros.h" 359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "nacl_io/pepper/define_empty_macros.h" 369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#undef BEGIN_INTERFACE 379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define BEGIN_INTERFACE(BaseClass, PPInterface, InterfaceString) \ 389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BaseClass##Mock* PepperInterfaceMock::Get##BaseClass() { \ 399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall return BaseClass##interface_; \ 409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall } \ 419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BaseClass##Mock::BaseClass##Mock() { \ 429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall } \ 439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BaseClass##Mock::~BaseClass##Mock() { \ 449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall } 45#include "nacl_io/pepper/all_interfaces.h" 46 47