| // Copyright 2017 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. |
| |
| #ifndef SERVICES_SERVICE_MANAGER_EMBEDDER_MAIN_H_ |
| #define SERVICES_SERVICE_MANAGER_EMBEDDER_MAIN_H_ |
| |
| #include "base/component_export.h" |
| #include "build/build_config.h" |
| |
| namespace service_manager { |
| |
| class MainDelegate; |
| |
| struct COMPONENT_EXPORT(SERVICE_MANAGER_EMBEDDER) MainParams { |
| explicit MainParams(MainDelegate* delegate); |
| ~MainParams(); |
| |
| MainDelegate* const delegate; |
| |
| #if !defined(OS_WIN) && !defined(OS_ANDROID) |
| int argc = 0; |
| const char** argv = nullptr; |
| #endif |
| }; |
| |
| // Main function which should be called as early as possible by any executable |
| // embedding the service manager. |
| int COMPONENT_EXPORT(SERVICE_MANAGER_EMBEDDER) Main(const MainParams& params); |
| |
| } // namespace service_manager |
| |
| #endif // SERVICES_SERVICE_MANAGER_EMBEDDER_MAIN_H_ |