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 MOJO_EXAMPLES_PEPPER_CONTAINER_APP_INTERFACE_LIST_H_ 6#define MOJO_EXAMPLES_PEPPER_CONTAINER_APP_INTERFACE_LIST_H_ 7 8#include <map> 9#include <string> 10 11#include "base/macros.h" 12 13namespace mojo { 14namespace examples { 15 16// InterfaceList maintains the mapping from Pepper interface names to 17// interface pointers. 18class InterfaceList { 19 public: 20 InterfaceList(); 21 ~InterfaceList(); 22 23 static InterfaceList* GetInstance(); 24 25 const void* GetBrowserInterface(const std::string& name) const; 26 27 private: 28 typedef std::map<std::string, const void*> NameToInterfaceMap; 29 NameToInterfaceMap browser_interfaces_; 30 31 DISALLOW_COPY_AND_ASSIGN(InterfaceList); 32}; 33 34} // namespace examples 35} // namespace mojo 36 37#endif // MOJO_EXAMPLES_PEPPER_CONTAINER_APP_INTERFACE_LIST_H_ 38