1// Copyright (c) 2010 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#include "ppapi/cpp/instance.h" 6#include "ppapi/cpp/module.h" 7 8// This is the simplest possible C++ Pepper plugin that does nothing. 9 10// This object represents one time the page says <embed>. 11class MyInstance : public pp::Instance { 12 public: 13 explicit MyInstance(PP_Instance instance) : pp::Instance(instance) {} 14 virtual ~MyInstance() {} 15 16 virtual bool Init(uint32_t argc, const char* argn[], const char* argv[]) { 17 return true; 18 } 19}; 20 21// This object is the global object representing this plugin library as long 22// as it is loaded. 23class MyModule : public pp::Module { 24 public: 25 MyModule() : pp::Module() {} 26 virtual ~MyModule() {} 27 28 // Override CreateInstance to create your customized Instance object. 29 virtual pp::Instance* CreateInstance(PP_Instance instance) { 30 return new MyInstance(instance); 31 } 32}; 33 34namespace pp { 35 36// Factory function for your specialization of the Module object. 37Module* CreateModule() { 38 return new MyModule(); 39} 40 41} // namespace pp 42