15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
23551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
33551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// found in the LICENSE file.
43551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#ifndef TESTS_NACL_IO_TEST_FAKE_VAR_INTERFACE_H_
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define TESTS_NACL_IO_TEST_FAKE_VAR_INTERFACE_H_
73551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
83551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "nacl_io/pepper_interface.h"
93551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "sdk_util/macros.h"
103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class FakeVarManager;
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
133551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)class FakeVarInterface : public nacl_io::VarInterface {
143551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) public:
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  explicit FakeVarInterface(FakeVarManager* manager);
163551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
173551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  virtual void AddRef(PP_Var var);
183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  virtual void Release(PP_Var var);
193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  virtual PP_Var VarFromUtf8(const char* data, uint32_t len);
203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  virtual const char* VarToUtf8(PP_Var var, uint32_t* out_len);
213551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) private:
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  FakeVarManager* manager_;
243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(FakeVarInterface);
263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)};
273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif  // TESTS_NACL_IO_TEST_FAKE_VAR_INTERFACE_H_
29