| // 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 "build/build_config.h" |
| #include "services/service_manager/embedder/service_manager_embedder_export.h" |
| |
| namespace service_manager { |
| |
| class MainDelegate; |
| |
| struct SERVICE_MANAGER_EMBEDDER_EXPORT 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 SERVICE_MANAGER_EMBEDDER_EXPORT Main(const MainParams& params); |
| |
| } // namespace service_manager |
| |
| #endif // SERVICES_SERVICE_MANAGER_EMBEDDER_MAIN_H_ |