blob: 65d0837c03eb9baf5604ee42a5d25266be749c9f [file] [log] [blame]
Luis Hector Chavez645501c2016-12-28 10:56:26 -08001// Copyright 2014 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#ifndef MOJO_PUBLIC_C_SYSTEM_MAIN_H_
6#define MOJO_PUBLIC_C_SYSTEM_MAIN_H_
7
8#include "mojo/public/c/system/types.h"
9
10// Implement MojoMain directly as the entry point for an application.
11//
12// MojoResult MojoMain(MojoHandle application_request) {
13// ...
14// }
15//
16// TODO(davemoore): Establish this as part of our SDK for third party mojo
17// application writers.
18
19#if defined(__cplusplus)
20extern "C" {
21#endif
22
23#if defined(WIN32)
24__declspec(dllexport) MojoResult
25 __cdecl MojoMain(MojoHandle application_request);
26#else // !defined(WIN32)
27__attribute__((visibility("default"))) MojoResult
28 MojoMain(MojoHandle service_provider_handle);
29#endif // defined(WIN32)
30
31#ifdef __cplusplus
32} // extern "C"
33#endif
34
35#endif // MOJO_PUBLIC_C_SYSTEM_MAIN_H_