Explorar o código

WebSocket: Port to LibMain :^)

Andreas Kling %!s(int64=3) %!d(string=hai) anos
pai
achega
c6a581f267

+ 1 - 1
Userland/Services/WebSocket/CMakeLists.txt

@@ -14,4 +14,4 @@ set(SOURCES
 )
 
 serenity_bin(WebSocket)
-target_link_libraries(WebSocket LibCore LibIPC LibWebSocket)
+target_link_libraries(WebSocket LibCore LibIPC LibWebSocket LibMain)

+ 7 - 17
Userland/Services/WebSocket/main.cpp

@@ -7,33 +7,23 @@
 #include <LibCore/EventLoop.h>
 #include <LibCore/LocalServer.h>
 #include <LibIPC/ClientConnection.h>
+#include <LibMain/Main.h>
+#include <LibSystem/Wrappers.h>
 #include <LibTLS/Certificate.h>
 #include <WebSocket/ClientConnection.h>
 
-int main(int, char**)
+ErrorOr<int> serenity_main(Main::Arguments)
 {
-    if (pledge("stdio inet unix rpath sendfd recvfd", nullptr) < 0) {
-        perror("pledge");
-        return 1;
-    }
+    TRY(System::pledge("stdio inet unix rpath sendfd recvfd", nullptr));
 
     // Ensure the certificates are read out here.
     [[maybe_unused]] auto& certs = DefaultRootCACertificates::the();
 
     Core::EventLoop event_loop;
     // FIXME: Establish a connection to LookupServer and then drop "unix"?
-    if (pledge("stdio inet unix sendfd recvfd", nullptr) < 0) {
-        perror("pledge");
-        return 1;
-    }
-    if (unveil("/tmp/portal/lookup", "rw") < 0) {
-        perror("unveil");
-        return 1;
-    }
-    if (unveil(nullptr, nullptr) < 0) {
-        perror("unveil");
-        return 1;
-    }
+    TRY(System::pledge("stdio inet unix sendfd recvfd", nullptr));
+    TRY(System::unveil("/tmp/portal/lookup", "rw"));
+    TRY(System::unveil(nullptr, nullptr));
 
     auto socket = Core::LocalSocket::take_over_accepted_socket_from_system_server();
     VERIFY(socket);