summaryrefslogtreecommitdiffstats
path: root/chromium/mojo/public/cpp/application/lib/mojo_main_standalone.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/mojo/public/cpp/application/lib/mojo_main_standalone.cc')
-rw-r--r--chromium/mojo/public/cpp/application/lib/mojo_main_standalone.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/chromium/mojo/public/cpp/application/lib/mojo_main_standalone.cc b/chromium/mojo/public/cpp/application/lib/mojo_main_standalone.cc
new file mode 100644
index 00000000000..05825aa3319
--- /dev/null
+++ b/chromium/mojo/public/cpp/application/lib/mojo_main_standalone.cc
@@ -0,0 +1,22 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "mojo/public/cpp/application/application.h"
+#include "mojo/public/cpp/environment/environment.h"
+#include "mojo/public/cpp/utility/run_loop.h"
+
+extern "C" APPLICATION_EXPORT MojoResult CDECL MojoMain(
+ MojoHandle service_provider_handle) {
+ mojo::Environment env;
+ mojo::RunLoop loop;
+
+ mojo::Application* app = mojo::Application::Create();
+ app->BindServiceProvider(
+ mojo::MakeScopedHandle(mojo::MessagePipeHandle(service_provider_handle)));
+ app->Initialize();
+ loop.Run();
+ delete app;
+
+ return MOJO_RESULT_OK;
+}