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#ifndef TESTS_NACL_IO_TEST_FAKE_MESSAGING_INTERFACE_H_ 6#define TESTS_NACL_IO_TEST_FAKE_MESSAGING_INTERFACE_H_ 7 8#include <string> 9#include <vector> 10 11#include "nacl_io/pepper_interface.h" 12#include "sdk_util/macros.h" 13 14class FakeVarManager; 15 16// Fake version of the MessagingInterface which simply records any 17// messages sent to it via PostMessage and makes them available as 18// a std::vector of PP_Var. 19class FakeMessagingInterface : public nacl_io::MessagingInterface { 20 public: 21 FakeMessagingInterface(FakeVarManager* manager, 22 nacl_io::VarInterface* var_interface); 23 ~FakeMessagingInterface(); 24 25 virtual void PostMessage(PP_Instance instance, PP_Var message); 26 27 std::vector<PP_Var> messages; 28 private: 29 FakeVarManager* manager_; 30 nacl_io::VarInterface* var_interface_; 31 DISALLOW_COPY_AND_ASSIGN(FakeMessagingInterface); 32}; 33 34#endif // TESTS_NACL_IO_TEST_FAKE_MESSAGING_INTERFACE_H_ 35