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

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

instance Request SetDeviceCreateContext where
        requestIO (MkSetDeviceCreateContext a b) conn
          = setDeviceCreateContext conn a b

instance RequestWithReply GetDeviceCreateContext
         GetDeviceCreateContextReply where
        requestWithReplyIO (MkGetDeviceCreateContext) conn
          = fmap getReply (getDeviceCreateContext conn)

instance Request SetDeviceContext where
        requestIO req conn = setDeviceContext conn req

instance RequestWithReply GetDeviceContext GetDeviceContextReply
         where
        requestWithReplyIO (MkGetDeviceContext a) conn
          = fmap getReply (getDeviceContext conn a)

instance Request SetWindowCreateContext where
        requestIO (MkSetWindowCreateContext a b) conn
          = setWindowCreateContext conn a b

instance RequestWithReply GetWindowCreateContext
         GetWindowCreateContextReply where
        requestWithReplyIO (MkGetWindowCreateContext) conn
          = fmap getReply (getWindowCreateContext conn)

instance RequestWithReply GetWindowContext GetWindowContextReply
         where
        requestWithReplyIO (MkGetWindowContext a) conn
          = fmap getReply (getWindowContext conn a)

instance Request SetPropertyCreateContext where
        requestIO (MkSetPropertyCreateContext a b) conn
          = setPropertyCreateContext conn a b

instance RequestWithReply GetPropertyCreateContext
         GetPropertyCreateContextReply where
        requestWithReplyIO (MkGetPropertyCreateContext) conn
          = fmap getReply (getPropertyCreateContext conn)

instance Request SetPropertyUseContext where
        requestIO (MkSetPropertyUseContext a b) conn
          = setPropertyUseContext conn a b

instance RequestWithReply GetPropertyUseContext
         GetPropertyUseContextReply where
        requestWithReplyIO (MkGetPropertyUseContext) conn
          = fmap getReply (getPropertyUseContext conn)

instance RequestWithReply GetPropertyContext
         GetPropertyContextReply where
        requestWithReplyIO (MkGetPropertyContext a b) conn
          = fmap getReply (getPropertyContext conn a b)

instance RequestWithReply GetPropertyDataContext
         GetPropertyDataContextReply where
        requestWithReplyIO (MkGetPropertyDataContext a b) conn
          = fmap getReply (getPropertyDataContext conn a b)

instance RequestWithReply ListProperties ListPropertiesReply where
        requestWithReplyIO (MkListProperties a) conn
          = fmap getReply (listProperties conn a)

instance Request SetSelectionCreateContext where
        requestIO (MkSetSelectionCreateContext a b) conn
          = setSelectionCreateContext conn a b

instance RequestWithReply GetSelectionCreateContext
         GetSelectionCreateContextReply where
        requestWithReplyIO (MkGetSelectionCreateContext) conn
          = fmap getReply (getSelectionCreateContext conn)

instance Request SetSelectionUseContext where
        requestIO (MkSetSelectionUseContext a b) conn
          = setSelectionUseContext conn a b

instance RequestWithReply GetSelectionUseContext
         GetSelectionUseContextReply where
        requestWithReplyIO (MkGetSelectionUseContext) conn
          = fmap getReply (getSelectionUseContext conn)

instance RequestWithReply GetSelectionContext
         GetSelectionContextReply where
        requestWithReplyIO (MkGetSelectionContext a) conn
          = fmap getReply (getSelectionContext conn a)

instance RequestWithReply GetSelectionDataContext
         GetSelectionDataContextReply where
        requestWithReplyIO (MkGetSelectionDataContext a) conn
          = fmap getReply (getSelectionDataContext conn a)

instance RequestWithReply ListSelections ListSelectionsReply where
        requestWithReplyIO (MkListSelections) conn
          = fmap getReply (listSelections conn)

instance RequestWithReply GetClientContext GetClientContextReply
         where
        requestWithReplyIO (MkGetClientContext a) conn
          = fmap getReply (getClientContext conn a)