136 lines
4.8 KiB
Diff
136 lines
4.8 KiB
Diff
From 2722e7369ae746cc71604bcd13e1f4c6dd5816c3 Mon Sep 17 00:00:00 2001
|
|
From: Adrian Perez de Castro <aperez@igalia.com>
|
|
Date: Tue, 13 Apr 2021 01:06:41 +0300
|
|
Subject: [PATCH 03/13] ws: Rename surfaceId to bridgeId where appropriate
|
|
|
|
The fact is that WS::Instance::m_viewBackendMap associated wpe_bridge
|
|
identifiers with a Surface, therefore it is clearer when reading the
|
|
code to name variables accordingly.
|
|
|
|
(cherry picked from commit 2d58520c94cd1c06d940621acaf409480ef908e8)
|
|
---
|
|
src/view-backend-private.cpp | 23 +++++++++++------------
|
|
src/view-backend-private.h | 2 +-
|
|
src/ws.cpp | 10 +++++-----
|
|
src/ws.h | 1 +
|
|
4 files changed, 18 insertions(+), 18 deletions(-)
|
|
|
|
diff --git a/src/view-backend-private.cpp b/src/view-backend-private.cpp
|
|
index 78f0e2f..367e6c3 100644
|
|
--- a/src/view-backend-private.cpp
|
|
+++ b/src/view-backend-private.cpp
|
|
@@ -41,7 +41,7 @@ ViewBackend::ViewBackend(ClientBundle* clientBundle, struct wpe_view_backend* ba
|
|
|
|
ViewBackend::~ViewBackend()
|
|
{
|
|
- unregisterSurface(m_surfaceId);
|
|
+ unregisterSurface(m_bridgeId);
|
|
if (m_clientFd != -1)
|
|
close(m_clientFd);
|
|
}
|
|
@@ -131,29 +131,28 @@ void ViewBackend::clientDestroyNotify(struct wl_listener* listener, void*)
|
|
ViewBackend* self = wl_container_of(listener, self, m_clientDestroy);
|
|
|
|
self->clearFrameCallbacks();
|
|
- WS::Instance::singleton().unregisterViewBackend(self->m_surfaceId);
|
|
+ WS::Instance::singleton().unregisterViewBackend(self->m_bridgeId);
|
|
self->m_client = nullptr;
|
|
- self->m_surfaceId = 0;
|
|
+ self->m_bridgeId = 0;
|
|
|
|
wl_list_remove(&self->m_clientDestroy.link);
|
|
}
|
|
|
|
-void ViewBackend::registerSurface(uint32_t surfaceId)
|
|
+void ViewBackend::registerSurface(uint32_t bridgeId)
|
|
{
|
|
-
|
|
- if (m_surfaceId == surfaceId)
|
|
+ if (m_bridgeId == bridgeId)
|
|
return;
|
|
|
|
- unregisterSurface(m_surfaceId);
|
|
+ unregisterSurface(m_bridgeId);
|
|
|
|
- m_surfaceId = surfaceId;
|
|
- m_client = WS::Instance::singleton().registerViewBackend(m_surfaceId, *this);
|
|
+ m_bridgeId = bridgeId;
|
|
+ m_client = WS::Instance::singleton().registerViewBackend(m_bridgeId, *this);
|
|
wl_client_add_destroy_listener(m_client, &m_clientDestroy);
|
|
}
|
|
|
|
-void ViewBackend::unregisterSurface(uint32_t surfaceId)
|
|
+void ViewBackend::unregisterSurface(uint32_t bridgeId)
|
|
{
|
|
- if (!surfaceId || m_surfaceId != surfaceId)
|
|
+ if (!bridgeId || m_bridgeId != bridgeId)
|
|
return;
|
|
|
|
// If the surfaceId is valid, we cannot have an invalid wl_client.
|
|
@@ -165,7 +164,7 @@ void ViewBackend::unregisterSurface(uint32_t surfaceId)
|
|
|
|
// After destroying the client, none of these can be valid.
|
|
g_assert(m_client == nullptr);
|
|
- g_assert(m_surfaceId == 0);
|
|
+ g_assert(m_bridgeId == 0);
|
|
}
|
|
|
|
void ViewBackend::didReceiveMessage(uint32_t messageId, uint32_t messageBody)
|
|
diff --git a/src/view-backend-private.h b/src/view-backend-private.h
|
|
index 918ec0e..9500262 100644
|
|
--- a/src/view-backend-private.h
|
|
+++ b/src/view-backend-private.h
|
|
@@ -90,7 +90,7 @@ private:
|
|
|
|
static gboolean s_socketCallback(GSocket*, GIOCondition, gpointer);
|
|
|
|
- uint32_t m_surfaceId { 0 };
|
|
+ uint32_t m_bridgeId { 0 };
|
|
|
|
static void clientDestroyNotify(struct wl_listener*, void*);
|
|
struct wl_listener m_clientDestroy { {}, clientDestroyNotify };
|
|
diff --git a/src/ws.cpp b/src/ws.cpp
|
|
index c23e53c..a044b2e 100644
|
|
--- a/src/ws.cpp
|
|
+++ b/src/ws.cpp
|
|
@@ -515,19 +515,19 @@ void Instance::releaseAudioPacketExport(struct wpe_audio_packet_export* packet_e
|
|
wpe_audio_packet_export_send_release(packet_export->exportResource);
|
|
}
|
|
|
|
-struct wl_client* Instance::registerViewBackend(uint32_t surfaceId, APIClient& apiClient)
|
|
+struct wl_client* Instance::registerViewBackend(uint32_t bridgeId, APIClient& apiClient)
|
|
{
|
|
- auto it = m_viewBackendMap.find(surfaceId);
|
|
+ auto it = m_viewBackendMap.find(bridgeId);
|
|
if (it == m_viewBackendMap.end())
|
|
- g_error("Instance::registerViewBackend(): " "Cannot find surface %" PRIu32 " in view backend map.", surfaceId);
|
|
+ g_error("Instance::registerViewBackend(): " "Cannot find surface with bridgeId %" PRIu32 " in view backend map.", bridgeId);
|
|
|
|
it->second->apiClient = &apiClient;
|
|
return wl_resource_get_client(it->second->resource);
|
|
}
|
|
|
|
-void Instance::unregisterViewBackend(uint32_t surfaceId)
|
|
+void Instance::unregisterViewBackend(uint32_t bridgeId)
|
|
{
|
|
- auto it = m_viewBackendMap.find(surfaceId);
|
|
+ auto it = m_viewBackendMap.find(bridgeId);
|
|
if (it != m_viewBackendMap.end()) {
|
|
it->second->apiClient = nullptr;
|
|
m_viewBackendMap.erase(it);
|
|
diff --git a/src/ws.h b/src/ws.h
|
|
index 683b679..aa0c083 100644
|
|
--- a/src/ws.h
|
|
+++ b/src/ws.h
|
|
@@ -128,6 +128,7 @@ private:
|
|
struct wl_global* m_wpeBridge { nullptr };
|
|
GSource* m_source { nullptr };
|
|
|
|
+ // (bridgeId -> Surface)
|
|
std::unordered_map<uint32_t, Surface*> m_viewBackendMap;
|
|
|
|
struct {
|
|
--
|
|
2.31.1
|
|
|