1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/at_exit.h" 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/command_line.h" 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/message_loop/message_loop.h" 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "mojo/public/cpp/application/application.h" 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)extern "C" APPLICATION_EXPORT MojoResult CDECL MojoMain( 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) MojoHandle service_provider_handle) { 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) base::CommandLine::Init(0, NULL); 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) base::AtExitManager at_exit; 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) base::MessageLoop loop; 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) scoped_ptr<mojo::Application> app(mojo::Application::Create()); 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) app->BindServiceProvider( 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) mojo::MakeScopedHandle(mojo::MessagePipeHandle(service_provider_handle))); 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) app->Initialize(); 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) loop.Run(); 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return MOJO_RESULT_OK; 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 24