From 26c34d41058632141118af2d7118b5bded090b5c Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Wed, 17 Aug 2022 18:51:32 +0200 Subject: [PATCH] Move getBuffer to server module --- src/Quasar/Wayland/Server/Surface.hs | 9 +++++++++ src/Quasar/Wayland/Surface.hs | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Quasar/Wayland/Server/Surface.hs b/src/Quasar/Wayland/Server/Surface.hs index ee45719..84719f3 100644 --- a/src/Quasar/Wayland/Server/Surface.hs +++ b/src/Quasar/Wayland/Server/Surface.hs @@ -1,8 +1,10 @@ module Quasar.Wayland.Server.Surface ( initializeServerSurface, initializeWlBuffer, + getBuffer, ) where +import Control.Monad.Catch import Quasar.Prelude import Quasar.Wayland.Protocol import Quasar.Wayland.Protocol.Generated @@ -104,3 +106,10 @@ initializeWlBuffer wlBuffer buffer = do -- TODO propagate buffer destruction destroy = destroyBuffer buffer } + +getBuffer :: forall b. BufferBackend b => Object 'Server Interface_wl_buffer -> STM (Buffer b) +getBuffer wlBuffer = do + ifd <- getInterfaceData @(Buffer b) wlBuffer + case ifd of + Just buffer -> pure buffer + Nothing -> throwM $ InternalError ("Missing interface data on " <> show wlBuffer) diff --git a/src/Quasar/Wayland/Surface.hs b/src/Quasar/Wayland/Surface.hs index d2839d1..9bea2f8 100644 --- a/src/Quasar/Wayland/Surface.hs +++ b/src/Quasar/Wayland/Surface.hs @@ -5,7 +5,6 @@ module Quasar.Wayland.Surface ( newBuffer, lockBuffer, destroyBuffer, - getBuffer, -- * Surface Damage(..), @@ -76,14 +75,6 @@ tryFinalizeBuffer buffer = do releaseBufferStorage @b buffer.content -getBuffer :: forall b. BufferBackend b => Object 'Server Interface_wl_buffer -> STM (Buffer b) -getBuffer wlBuffer = do - ifd <- getInterfaceData @(Buffer b) wlBuffer - case ifd of - Just buffer -> pure buffer - Nothing -> throwM $ InternalError ("Missing interface data on " <> show wlBuffer) - - class SurfaceRole a where surfaceRoleName :: a -> String -- GitLab