hs-mesos-0.20.2.0: src/System/Mesos/Raw/ContainerId.hs
module System.Mesos.Raw.ContainerId where
import System.Mesos.Internal
type ContainerIDPtr = Ptr ContainerID
foreign import ccall unsafe "ext/types.h toContainerID" c_toContainerID :: ToID ContainerIDPtr
foreign import ccall unsafe "ext/types.h fromContainerID" c_fromContainerID :: FromID ContainerIDPtr
foreign import ccall unsafe "ext/types.h destroyContainerID" c_destroyContainerID :: ContainerIDPtr -> IO ()
instance CPPValue ContainerID where
marshal x = do
(strp, l) <- cstring $ containerIDId' x
liftIO $ c_toContainerID strp $ fromIntegral l
unmarshal p = fmap ContainerID $ do
ptrPtr <- alloc
len <- liftIO $ c_fromContainerID p ptrPtr
peekCString' (ptrPtr, len)
destroy = c_destroyContainerID