{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE OverloadedStrings #-} module Language.C.Inline.ObjC ( module Language.C.Inline , objcCtx , CId, Id(..) ) where import qualified Language.Haskell.TH.Syntax as TH import qualified Language.C.Types as CT import Foreign import Language.C.Inline import Language.C.Inline.Context import qualified Data.Map as Map objcCtx :: Context objcCtx :: Context objcCtx = Context baseCtx forall a. Semigroup a => a -> a -> a <> forall a. Monoid a => a mempty { ctxForeignSrcLang :: Maybe ForeignSrcLang ctxForeignSrcLang = forall a. a -> Maybe a Just ForeignSrcLang TH.LangObjc , ctxTypesTable :: TypesTable ctxTypesTable = forall k a. k -> a -> Map k a Map.singleton (CIdentifier -> TypeSpecifier CT.TypeName CIdentifier "id") [t|Id|] } data CId newtype Id = Id (Ptr CId)