hs-mesos-0.20.2.0: src/System/Mesos/Raw/FrameworkId.hs
module System.Mesos.Raw.FrameworkId where
import Control.Lens
import System.Mesos.Lens
import System.Mesos.Internal
type FrameworkIDPtr = Ptr FrameworkID
foreign import ccall unsafe "ext/types.h toFrameworkID" c_toFrameworkID :: ToID FrameworkIDPtr
foreign import ccall unsafe "ext/types.h fromFrameworkID" c_fromFrameworkID :: FromID FrameworkIDPtr
foreign import ccall unsafe "ext/types.h destroyFrameworkID" c_destroyFrameworkID :: FrameworkIDPtr -> IO ()
instance CPPValue FrameworkID where
marshal x = do
(strp, l) <- cstring (x^.id')
liftIO $ c_toFrameworkID strp (fromIntegral l)
unmarshal p = fmap FrameworkID $ do
ptrPtr <- alloc
len <- liftIO $ c_fromFrameworkID p ptrPtr
peekCString' (ptrPtr, len)
destroy = c_destroyFrameworkID