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_VAR_DICTIONARY_INTERFACE_H_ 6#define TESTS_NACL_IO_TEST_FAKE_VAR_DICTIONARY_INTERFACE_H_ 7 8#include "nacl_io/pepper_interface.h" 9#include "sdk_util/macros.h" 10 11class FakeVarManager; 12 13class FakeVarDictionaryInterface : public nacl_io::VarDictionaryInterface { 14 public: 15 explicit FakeVarDictionaryInterface(FakeVarManager* manager, 16 nacl_io::VarInterface* var_interface, 17 nacl_io::VarArrayInterface* array_interface); 18 19 virtual PP_Var Create(); 20 virtual PP_Var Get(PP_Var dict, PP_Var key); 21 virtual PP_Bool Set(PP_Var dict, PP_Var key, PP_Var value); 22 virtual void Delete(PP_Var dict, PP_Var key); 23 virtual PP_Bool HasKey(PP_Var dict, PP_Var key); 24 virtual PP_Var GetKeys(PP_Var dict); 25 26 private: 27 FakeVarManager* manager_; 28 nacl_io::VarInterface* var_interface_; 29 nacl_io::VarArrayInterface* array_interface_; 30 31 DISALLOW_COPY_AND_ASSIGN(FakeVarDictionaryInterface); 32}; 33 34#endif // TESTS_NACL_IO_TEST_FAKE_VAR_DICTIONARY_INTERFACE_H_ 35