{-# LANGUAGE EmptyDataDecls, ExistentialQuantification, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies, TypeSynonymInstances #-} module HROOT.Core.TVirtualMutex.Interface where import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Core.TVirtualMutex.RawType import STD.Deletable.Interface class (IDeletable a) => ITVirtualMutex a where cleanUp :: () => a -> IO CInt factory :: () => a -> CBool -> IO a lock :: () => a -> IO CInt tryLock :: () => a -> IO CInt unLock :: () => a -> IO CInt