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