{-# LANGUAGE MultiParamTypeClasses #-}
module Graphics.XHB.Requests.Internal.Instances.Shm () where
import Graphics.XHB.Gen.Shm
import Graphics.XHB.Requests.Internal.Classes
import Prelude (fmap)
import Data.Bifunctor (second)
import Graphics.XHB (getReply)

instance RequestWithReply QueryVersion QueryVersionReply where
        requestWithReplyIO (MkQueryVersion) conn
          = fmap getReply (queryVersion conn)

instance Request Attach where
        requestIO req conn = attach conn req

instance Request Detach where
        requestIO (MkDetach a) conn = detach conn a

instance Request PutImage where
        requestIO req conn = putImage conn req

instance RequestWithReply GetImage GetImageReply where
        requestWithReplyIO req conn = fmap getReply (getImage conn req)

instance Request CreatePixmap where
        requestIO req conn = createPixmap conn req