1 // Copyright (c) 2012 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/private/flash_message_loop.h" 6 7 #include "ppapi/c/pp_errors.h" 8 #include "ppapi/c/private/ppb_flash_message_loop.h" 9 #include "ppapi/cpp/instance_handle.h" 10 #include "ppapi/cpp/module_impl.h" 11 12 namespace pp { 13 14 namespace { 15 interface_name()16template <> const char* interface_name<PPB_Flash_MessageLoop>() { 17 return PPB_FLASH_MESSAGELOOP_INTERFACE; 18 } 19 20 } // namespace 21 22 namespace flash { 23 MessageLoop(const InstanceHandle & instance)24MessageLoop::MessageLoop(const InstanceHandle& instance) { 25 if (has_interface<PPB_Flash_MessageLoop>()) { 26 PassRefFromConstructor(get_interface<PPB_Flash_MessageLoop>()->Create( 27 instance.pp_instance())); 28 } 29 } 30 ~MessageLoop()31MessageLoop::~MessageLoop() { 32 } 33 34 // static IsAvailable()35bool MessageLoop::IsAvailable() { 36 return has_interface<PPB_Flash_MessageLoop>(); 37 } 38 Run()39int32_t MessageLoop::Run() { 40 if (!has_interface<PPB_Flash_MessageLoop>()) 41 return PP_ERROR_NOINTERFACE; 42 return get_interface<PPB_Flash_MessageLoop>()->Run(pp_resource()); 43 } 44 Quit()45void MessageLoop::Quit() { 46 if (has_interface<PPB_Flash_MessageLoop>()) 47 get_interface<PPB_Flash_MessageLoop>()->Quit(pp_resource()); 48 } 49 50 } // namespace flash 51 } // namespace pp 52