mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 21:37:35 +00:00
Userland: Make IPC results with one return value available directly
This changes client methods so that they return the IPC response's return value directly - instead of the response struct - for IPC methods which only have a single return value.
This commit is contained in:
parent
5bb79ea0a7
commit
eb21aa65d1
18 changed files with 58 additions and 111 deletions
|
@ -22,8 +22,8 @@ void ClientConnection::handshake()
|
|||
void ClientConnection::enqueue(const Buffer& buffer)
|
||||
{
|
||||
for (;;) {
|
||||
auto response = enqueue_buffer(buffer.anonymous_buffer(), buffer.id(), buffer.sample_count());
|
||||
if (response.success())
|
||||
auto success = enqueue_buffer(buffer.anonymous_buffer(), buffer.id(), buffer.sample_count());
|
||||
if (success)
|
||||
break;
|
||||
sleep(1);
|
||||
}
|
||||
|
@ -31,53 +31,7 @@ void ClientConnection::enqueue(const Buffer& buffer)
|
|||
|
||||
bool ClientConnection::try_enqueue(const Buffer& buffer)
|
||||
{
|
||||
auto response = enqueue_buffer(buffer.anonymous_buffer(), buffer.id(), buffer.sample_count());
|
||||
return response.success();
|
||||
}
|
||||
|
||||
bool ClientConnection::get_muted()
|
||||
{
|
||||
return IPCProxy::get_muted().muted();
|
||||
}
|
||||
|
||||
void ClientConnection::set_muted(bool muted)
|
||||
{
|
||||
IPCProxy::set_muted(muted);
|
||||
}
|
||||
|
||||
int ClientConnection::get_main_mix_volume()
|
||||
{
|
||||
return IPCProxy::get_main_mix_volume().volume();
|
||||
}
|
||||
|
||||
void ClientConnection::set_main_mix_volume(int volume)
|
||||
{
|
||||
IPCProxy::set_main_mix_volume(volume);
|
||||
}
|
||||
|
||||
int ClientConnection::get_remaining_samples()
|
||||
{
|
||||
return IPCProxy::get_remaining_samples().remaining_samples();
|
||||
}
|
||||
|
||||
int ClientConnection::get_played_samples()
|
||||
{
|
||||
return IPCProxy::get_played_samples().played_samples();
|
||||
}
|
||||
|
||||
void ClientConnection::set_paused(bool paused)
|
||||
{
|
||||
IPCProxy::set_paused(paused);
|
||||
}
|
||||
|
||||
void ClientConnection::clear_buffer(bool paused)
|
||||
{
|
||||
IPCProxy::clear_buffer(paused);
|
||||
}
|
||||
|
||||
int ClientConnection::get_playing_buffer()
|
||||
{
|
||||
return IPCProxy::get_playing_buffer().buffer_id();
|
||||
return enqueue_buffer(buffer.anonymous_buffer(), buffer.id(), buffer.sample_count());
|
||||
}
|
||||
|
||||
void ClientConnection::finished_playing_buffer(i32 buffer_id)
|
||||
|
|
|
@ -24,19 +24,6 @@ public:
|
|||
void enqueue(const Buffer&);
|
||||
bool try_enqueue(const Buffer&);
|
||||
|
||||
bool get_muted();
|
||||
void set_muted(bool);
|
||||
|
||||
int get_main_mix_volume();
|
||||
void set_main_mix_volume(int);
|
||||
|
||||
int get_remaining_samples();
|
||||
int get_played_samples();
|
||||
int get_playing_buffer();
|
||||
|
||||
void set_paused(bool paused);
|
||||
void clear_buffer(bool paused = false);
|
||||
|
||||
Function<void(i32 buffer_id)> on_finish_playing_buffer;
|
||||
Function<void(bool muted)> on_muted_state_change;
|
||||
Function<void(int volume)> on_main_mix_volume_change;
|
||||
|
|
|
@ -99,7 +99,7 @@ bool Launcher::seal_allowlist()
|
|||
|
||||
bool Launcher::open(const URL& url, const String& handler_name)
|
||||
{
|
||||
return connection().open_url(url, handler_name).response();
|
||||
return connection().open_url(url, handler_name);
|
||||
}
|
||||
|
||||
bool Launcher::open(const URL& url, const Details& details)
|
||||
|
@ -110,12 +110,12 @@ bool Launcher::open(const URL& url, const Details& details)
|
|||
|
||||
Vector<String> Launcher::get_handlers_for_url(const URL& url)
|
||||
{
|
||||
return connection().get_handlers_for_url(url.to_string()).handlers();
|
||||
return connection().get_handlers_for_url(url.to_string());
|
||||
}
|
||||
|
||||
auto Launcher::get_handlers_with_details_for_url(const URL& url) -> NonnullRefPtrVector<Details>
|
||||
{
|
||||
auto details = connection().get_handlers_with_details_for_url(url.to_string()).handlers_details();
|
||||
auto details = connection().get_handlers_with_details_for_url(url.to_string());
|
||||
NonnullRefPtrVector<Details> handlers_with_details;
|
||||
for (auto& value : details) {
|
||||
handlers_with_details.append(Details::from_details_str(value));
|
||||
|
|
|
@ -186,7 +186,7 @@ void Application::tooltip_show_timer_did_fire()
|
|||
Gfx::IntRect desktop_rect = Desktop::the().rect();
|
||||
|
||||
const int margin = 30;
|
||||
Gfx::IntPoint adjusted_pos = WindowServerConnection::the().get_global_cursor_position().position();
|
||||
Gfx::IntPoint adjusted_pos = WindowServerConnection::the().get_global_cursor_position();
|
||||
|
||||
adjusted_pos.translate_by(0, 18);
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ bool Desktop::set_wallpaper(const StringView& path, bool save_config)
|
|||
|
||||
String Desktop::wallpaper() const
|
||||
{
|
||||
return WindowServerConnection::the().get_wallpaper().path();
|
||||
return WindowServerConnection::the().get_wallpaper();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -37,12 +37,12 @@ DragOperation::Outcome DragOperation::exec()
|
|||
drag_bitmap = bitmap->to_shareable_bitmap();
|
||||
}
|
||||
|
||||
auto response = WindowServerConnection::the().start_drag(
|
||||
auto started = WindowServerConnection::the().start_drag(
|
||||
m_mime_data->text(),
|
||||
m_mime_data->all_data(),
|
||||
drag_bitmap);
|
||||
|
||||
if (!response.started()) {
|
||||
if (!started) {
|
||||
m_outcome = Outcome::Cancelled;
|
||||
return m_outcome;
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ void Menu::dismiss()
|
|||
int Menu::realize_menu(RefPtr<Action> default_action)
|
||||
{
|
||||
unrealize_menu();
|
||||
m_menu_id = WindowServerConnection::the().create_menu(m_name).menu_id();
|
||||
m_menu_id = WindowServerConnection::the().create_menu(m_name);
|
||||
|
||||
dbgln_if(MENU_DEBUG, "GUI::Menu::realize_menu(): New menu ID: {}", m_menu_id);
|
||||
VERIFY(m_menu_id > 0);
|
||||
|
|
|
@ -30,7 +30,7 @@ Menu& Menubar::add_menu(String name)
|
|||
|
||||
int Menubar::realize_menubar()
|
||||
{
|
||||
return WindowServerConnection::the().create_menubar().menubar_id();
|
||||
return WindowServerConnection::the().create_menubar();
|
||||
}
|
||||
|
||||
void Menubar::unrealize_menubar()
|
||||
|
|
|
@ -119,7 +119,7 @@ void Window::show()
|
|||
|
||||
auto* parent_window = find_parent_window();
|
||||
|
||||
auto response = WindowServerConnection::the().create_window(
|
||||
m_window_id = WindowServerConnection::the().create_window(
|
||||
m_rect_when_windowless,
|
||||
!m_moved_by_client,
|
||||
m_has_alpha_channel,
|
||||
|
@ -138,7 +138,6 @@ void Window::show()
|
|||
(i32)m_window_type,
|
||||
m_title_when_windowless,
|
||||
parent_window ? parent_window->window_id() : 0);
|
||||
m_window_id = response.window_id();
|
||||
m_visible = true;
|
||||
|
||||
apply_icon();
|
||||
|
@ -178,10 +177,10 @@ void Window::hide()
|
|||
{
|
||||
if (!is_visible())
|
||||
return;
|
||||
auto response = WindowServerConnection::the().destroy_window(m_window_id);
|
||||
auto destroyed_window_ids = WindowServerConnection::the().destroy_window(m_window_id);
|
||||
server_did_destroy();
|
||||
|
||||
for (auto child_window_id : response.destroyed_window_ids()) {
|
||||
for (auto child_window_id : destroyed_window_ids) {
|
||||
if (auto* window = Window::from_window_id(child_window_id)) {
|
||||
window->server_did_destroy();
|
||||
}
|
||||
|
@ -212,20 +211,20 @@ String Window::title() const
|
|||
{
|
||||
if (!is_visible())
|
||||
return m_title_when_windowless;
|
||||
return WindowServerConnection::the().get_window_title(m_window_id).title();
|
||||
return WindowServerConnection::the().get_window_title(m_window_id);
|
||||
}
|
||||
|
||||
Gfx::IntRect Window::applet_rect_on_screen() const
|
||||
{
|
||||
VERIFY(m_window_type == WindowType::Applet);
|
||||
return WindowServerConnection::the().get_applet_rect_on_screen(m_window_id).rect();
|
||||
return WindowServerConnection::the().get_applet_rect_on_screen(m_window_id);
|
||||
}
|
||||
|
||||
Gfx::IntRect Window::rect() const
|
||||
{
|
||||
if (!is_visible())
|
||||
return m_rect_when_windowless;
|
||||
return WindowServerConnection::the().get_window_rect(m_window_id).rect();
|
||||
return WindowServerConnection::the().get_window_rect(m_window_id);
|
||||
}
|
||||
|
||||
void Window::set_rect(const Gfx::IntRect& a_rect)
|
||||
|
@ -240,7 +239,7 @@ void Window::set_rect(const Gfx::IntRect& a_rect)
|
|||
m_main_widget->resize(m_rect_when_windowless.size());
|
||||
return;
|
||||
}
|
||||
auto window_rect = WindowServerConnection::the().set_window_rect(m_window_id, a_rect).rect();
|
||||
auto window_rect = WindowServerConnection::the().set_window_rect(m_window_id, a_rect);
|
||||
if (m_back_store && m_back_store->size() != window_rect.size())
|
||||
m_back_store = nullptr;
|
||||
if (m_front_store && m_front_store->size() != window_rect.size())
|
||||
|
@ -254,7 +253,7 @@ Gfx::IntSize Window::minimum_size() const
|
|||
if (!is_visible())
|
||||
return m_minimum_size_when_windowless;
|
||||
|
||||
return WindowServerConnection::the().get_window_minimum_size(m_window_id).size();
|
||||
return WindowServerConnection::the().get_window_minimum_size(m_window_id);
|
||||
}
|
||||
|
||||
void Window::set_minimum_size(const Gfx::IntSize& size)
|
||||
|
@ -904,7 +903,7 @@ bool Window::is_maximized() const
|
|||
if (!is_visible())
|
||||
return false;
|
||||
|
||||
return WindowServerConnection::the().is_maximized(m_window_id).maximized();
|
||||
return WindowServerConnection::the().is_maximized(m_window_id);
|
||||
}
|
||||
|
||||
void Window::schedule_relayout()
|
||||
|
@ -1084,7 +1083,7 @@ bool Window::is_modified() const
|
|||
{
|
||||
if (!m_window_id)
|
||||
return false;
|
||||
return WindowServerConnection::the().is_window_modified(m_window_id).modified();
|
||||
return WindowServerConnection::the().is_window_modified(m_window_id);
|
||||
}
|
||||
|
||||
void Window::set_modified(bool modified)
|
||||
|
|
|
@ -21,11 +21,6 @@ void RequestClient::handshake()
|
|||
greet();
|
||||
}
|
||||
|
||||
bool RequestClient::is_supported_protocol(const String& protocol)
|
||||
{
|
||||
return IPCProxy::is_supported_protocol(protocol).supported();
|
||||
}
|
||||
|
||||
template<typename RequestHashMapTraits>
|
||||
RefPtr<Request> RequestClient::start_request(const String& method, const String& url, const HashMap<String, String, RequestHashMapTraits>& request_headers, ReadonlyBytes request_body)
|
||||
{
|
||||
|
@ -49,14 +44,14 @@ bool RequestClient::stop_request(Badge<Request>, Request& request)
|
|||
{
|
||||
if (!m_requests.contains(request.id()))
|
||||
return false;
|
||||
return IPCProxy::stop_request(request.id()).success();
|
||||
return IPCProxy::stop_request(request.id());
|
||||
}
|
||||
|
||||
bool RequestClient::set_certificate(Badge<Request>, Request& request, String certificate, String key)
|
||||
{
|
||||
if (!m_requests.contains(request.id()))
|
||||
return false;
|
||||
return IPCProxy::set_certificate(request.id(), move(certificate), move(key)).success();
|
||||
return IPCProxy::set_certificate(request.id(), move(certificate), move(key));
|
||||
}
|
||||
|
||||
void RequestClient::request_finished(i32 request_id, bool success, u32 total_size)
|
||||
|
|
|
@ -23,7 +23,6 @@ class RequestClient
|
|||
public:
|
||||
virtual void handshake() override;
|
||||
|
||||
bool is_supported_protocol(const String&);
|
||||
template<typename RequestHashMapTraits = Traits<String>>
|
||||
RefPtr<Request> start_request(const String& method, const String& url, const HashMap<String, String, RequestHashMapTraits>& request_headers = {}, ReadonlyBytes request_body = {});
|
||||
|
||||
|
|
|
@ -25,8 +25,7 @@ RefPtr<WebSocket> WebSocketClient::connect(const URL& url, const String& origin,
|
|||
IPC::Dictionary header_dictionary;
|
||||
for (auto& it : request_headers)
|
||||
header_dictionary.add(it.key, it.value);
|
||||
auto response = IPCProxy::connect(url, origin, protocols, extensions, header_dictionary);
|
||||
auto connection_id = response.connection_id();
|
||||
auto connection_id = IPCProxy::connect(url, origin, protocols, extensions, header_dictionary);
|
||||
if (connection_id < 0)
|
||||
return nullptr;
|
||||
auto connection = WebSocket::create_from_id({}, *this, connection_id);
|
||||
|
@ -38,7 +37,7 @@ u32 WebSocketClient::ready_state(Badge<WebSocket>, WebSocket& connection)
|
|||
{
|
||||
if (!m_connections.contains(connection.id()))
|
||||
return (u32)WebSocket::ReadyState::Closed;
|
||||
return IPCProxy::ready_state(connection.id()).ready_state();
|
||||
return IPCProxy::ready_state(connection.id());
|
||||
}
|
||||
|
||||
void WebSocketClient::send(Badge<WebSocket>, WebSocket& connection, ByteBuffer data, bool is_text)
|
||||
|
@ -59,7 +58,7 @@ bool WebSocketClient::set_certificate(Badge<WebSocket>, WebSocket& connection, S
|
|||
{
|
||||
if (!m_connections.contains(connection.id()))
|
||||
return false;
|
||||
return IPCProxy::set_certificate(connection.id(), move(certificate), move(key)).success();
|
||||
return IPCProxy::set_certificate(connection.id(), move(certificate), move(key));
|
||||
}
|
||||
|
||||
void WebSocketClient::connected(i32 connection_id)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue