module Graphics.XHB.Gen.BigRequests (extension, enable, module Graphics.XHB.Gen.BigRequests.Types) where import Graphics.XHB.Gen.BigRequests.Types import Graphics.XHB.Connection.Internal import Graphics.XHB.Connection.Extension import Graphics.XHB.Connection.Types import Control.Concurrent.STM import Foreign.C.Types import Data.Binary.Put (runPut) import Graphics.XHB.Shared hiding (Event(..), Error(..)) extension :: ExtensionId extension = "BIG-REQUESTS" enable :: Graphics.XHB.Connection.Types.Connection -> IO (Receipt EnableReply) enable c = do receipt <- newEmptyReceiptIO let req = MkEnable putAction <- serializeExtensionRequest c req let chunk = runPut putAction sendRequestWithReply c chunk receipt return receipt