summaryrefslogtreecommitdiff
path: root/Userland
diff options
context:
space:
mode:
authorPedro Pereira <pmh.pereira@gmail.com>2021-11-22 22:44:07 +0000
committerAndreas Kling <kling@serenityos.org>2021-11-22 23:55:42 +0100
commit55db1811c7d75d45545bdb7a841ccddef0e17834 (patch)
tree4418ecbaff4b3a43f235faa5e44d4d2849da9110 /Userland
parentb65a039db76f5010adb67f436f74c5e80bc7635e (diff)
downloadserenity-55db1811c7d75d45545bdb7a841ccddef0e17834.zip
Chess: Port to LibMain
Simplified two pledge() and five unveil() by using TRY().
Diffstat (limited to 'Userland')
-rw-r--r--Userland/Games/Chess/CMakeLists.txt2
-rw-r--r--Userland/Games/Chess/main.cpp46
2 files changed, 12 insertions, 36 deletions
diff --git a/Userland/Games/Chess/CMakeLists.txt b/Userland/Games/Chess/CMakeLists.txt
index 4d752a1a6d..218ebdd8bf 100644
--- a/Userland/Games/Chess/CMakeLists.txt
+++ b/Userland/Games/Chess/CMakeLists.txt
@@ -13,4 +13,4 @@ set(SOURCES
)
serenity_app(Chess ICON app-chess)
-target_link_libraries(Chess LibChess LibConfig LibGUI LibCore)
+target_link_libraries(Chess LibChess LibConfig LibGUI LibCore LibMain)
diff --git a/Userland/Games/Chess/main.cpp b/Userland/Games/Chess/main.cpp
index 4cce4cb6e7..4155679b23 100644
--- a/Userland/Games/Chess/main.cpp
+++ b/Userland/Games/Chess/main.cpp
@@ -16,53 +16,29 @@
#include <LibGUI/Menubar.h>
#include <LibGUI/MessageBox.h>
#include <LibGUI/Window.h>
-#include <unistd.h>
+#include <LibMain/Main.h>
+#include <LibSystem/Wrappers.h>
-int main(int argc, char** argv)
+ErrorOr<int> serenity_main(Main::Arguments arguments)
{
- if (pledge("stdio rpath wpath cpath recvfd sendfd thread proc exec unix", nullptr) < 0) {
- perror("pledge");
- return 1;
- }
+ TRY(System::pledge("stdio rpath wpath cpath recvfd sendfd thread proc exec unix", nullptr));
- auto app = GUI::Application::construct(argc, argv);
+ auto app = GUI::Application::construct(arguments.argc, arguments.argv);
Config::pledge_domains("Chess");
- if (pledge("stdio rpath wpath cpath recvfd sendfd thread proc exec", nullptr) < 0) {
- perror("pledge");
- return 1;
- }
+ TRY(System::pledge("stdio rpath wpath cpath recvfd sendfd thread proc exec", nullptr));
auto app_icon = GUI::Icon::default_icon("app-chess");
auto window = GUI::Window::construct();
auto& widget = window->set_main_widget<ChessWidget>();
- if (unveil("/res", "r") < 0) {
- perror("unveil");
- return 1;
- }
-
- if (unveil("/bin/ChessEngine", "x") < 0) {
- perror("unveil");
- return 1;
- }
-
- if (unveil("/etc/passwd", "r") < 0) {
- perror("unveil");
- return 1;
- }
-
- if (unveil(Core::StandardPaths::home_directory().characters(), "wcbr") < 0) {
- perror("unveil");
- return 1;
- }
-
- if (unveil(nullptr, nullptr) < 0) {
- perror("unveil");
- return 1;
- }
+ TRY(System::unveil("/res", "r"));
+ TRY(System::unveil("/bin/ChessEngine", "x"));
+ TRY(System::unveil("/etc/passwd", "r"));
+ TRY(System::unveil(Core::StandardPaths::home_directory().characters(), "wcbr"));
+ TRY(System::unveil(nullptr, nullptr));
auto size = Config::read_i32("Chess", "Display", "size", 512);
window->set_title("Chess");