Serenity Operating System
1/*
2 * Copyright (c) 2020, Nicholas Hollett <niax@niax.co.uk>
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#include "ConnectionFromClient.h"
8#include "Launcher.h"
9#include <LibCore/ConfigFile.h>
10#include <LibCore/EventLoop.h>
11#include <LibCore/System.h>
12#include <LibIPC/MultiServer.h>
13#include <LibMain/Main.h>
14
15ErrorOr<int> serenity_main(Main::Arguments)
16{
17 Core::EventLoop event_loop;
18 auto server = TRY(IPC::MultiServer<LaunchServer::ConnectionFromClient>::try_create());
19
20 auto launcher = LaunchServer::Launcher();
21 launcher.load_handlers();
22 launcher.load_config(TRY(Core::ConfigFile::open_for_app("LaunchServer")));
23
24 TRY(Core::System::pledge("stdio accept rpath proc exec"));
25
26 return event_loop.exec();
27}