{-# LANGUAGE CApiFFI #-}
module OpenCascade.Message.ProgressRange
( ProgressRange
, new
) where

import OpenCascade.Message.Types (ProgressRange)
import OpenCascade.Message.Internal.Destructors (deleteProgressRange)
import Foreign.Ptr (Ptr)
import Data.Acquire (Acquire, mkAcquire)

foreign import capi unsafe "hs_Message_ProgressRange.h hs_new_Message_ProgressRange" rawNew :: IO (Ptr ProgressRange)

new :: Acquire (Ptr ProgressRange)
new :: Acquire (Ptr ProgressRange)
new = IO (Ptr ProgressRange)
-> (Ptr ProgressRange -> IO ()) -> Acquire (Ptr ProgressRange)
forall a. IO a -> (a -> IO ()) -> Acquire a
mkAcquire IO (Ptr ProgressRange)
rawNew Ptr ProgressRange -> IO ()
deleteProgressRange