{-# LANGUAGE CApiFFI #-}
module Graphics.Text.Font.Choose.Internal.Test where
import Foreign.C.String (CString)
import Foreign.Ptr (Ptr)
import Data.MessagePack (MessagePack)
import Graphics.Text.Font.Choose.Internal.FFI
type RoundTrip = CString -> Int -> Ptr Int -> CString
roundtrip :: MessagePack a => RoundTrip -> a -> Maybe a
roundtrip :: forall a. MessagePack a => RoundTrip -> a -> Maybe a
roundtrip RoundTrip
fn = (Ptr Int -> CString) -> Maybe a
forall a. MessagePack a => (Ptr Int -> CString) -> Maybe a
fromMessage ((Ptr Int -> CString) -> Maybe a)
-> (a -> Ptr Int -> CString) -> a -> Maybe a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. RoundTrip -> a -> Ptr Int -> CString
forall a b. MessagePack a => (CString -> Int -> b) -> a -> b
withMessage RoundTrip
fn
foreign import capi "transcode.h" testStrSet :: RoundTrip
foreign import capi "transcode.h" testCharSet :: RoundTrip
foreign import capi "transcode.h" testLangSet :: RoundTrip
foreign import capi "transcode.h" testRange :: RoundTrip
foreign import capi "transcode.h" testMatrix :: RoundTrip
foreign import capi "transcode.h" testValue :: RoundTrip
foreign import capi "transcode.h" testPattern :: RoundTrip
foreign import capi "transcode.h" testFontSet :: RoundTrip