blob: e86697a26d0f1a826bda214bb66ee882eef23f49 [file] [log] [blame]
// 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_POSIX) && !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_