10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright (c) 2014 The Chromium Authors. All rights reserved. 20529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Use of this source code is governed by a BSD-style license that can be 30529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// found in the LICENSE file. 40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "ppapi/cpp/instance.h" 60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "ppapi/cpp/module.h" 70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "ppapi/cpp/var.h" 80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass Instance : public pp::Instance { 100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch public: 110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch explicit Instance(PP_Instance instance) : pp::Instance(instance) {} 120529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch virtual ~Instance() {} 130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch virtual bool Init(uint32_t argc, const char* argn[], const char* argv[]) { 150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch PostMessage("Hello, multi-platform!"); 160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch return true; 170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch } 180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}; 190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass Module : public pp::Module { 210529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch public: 220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch Module() : pp::Module() {} 230529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch virtual ~Module() {} 240529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 250529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch virtual pp::Instance* CreateInstance(PP_Instance instance) { 260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch return new Instance(instance); 270529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch } 280529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}; 290529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 300529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace pp { 310529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 320529e5d033099cbfc42635f6f6183833b09dff6eBen MurdochModule* CreateModule() { 330529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch return new ::Module(); 340529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch} 350529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 360529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch} // namespace pp 37