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

instance RequestWithReply GetVersion GetVersionReply where
        requestWithReplyIO (MkGetVersion a b) conn
          = fmap getReply (getVersion conn a b)

instance RequestWithReply CompareCursor CompareCursorReply where
        requestWithReplyIO (MkCompareCursor a b) conn
          = fmap (fmap (second MkCompareCursorReply))
              (fmap getReply (compareCursor conn a b))

instance Request FakeInput where
        requestIO req conn = fakeInput conn req

instance Request GrabControl where
        requestIO (MkGrabControl a) conn = grabControl conn a