 
 import Control.Monad       ( liftM )
 import Control.Monad.Trans
-import Data.Bits           ( shiftL
-                           , bit
-                           , (.|.) )
 import Data.Ratio          ( Ratio )
 import System.Glib.FFI
 import System.Glib.Flags

           return $ Segment (realToFrac rate)
                            (realToFrac absRate)
                            (cToEnum format)
                            (toFlags $ fromIntegral flags)
                            (fromIntegral start)
                            (fromIntegral stop)
                            (fromIntegral time)

                 => objectT
                 -> IO [flagsT]
mkObjectGetFlags object =
    liftM cToFlags $
        withObject (toObject object) cObjectGetFlags
foreign import ccall unsafe "_hs_gst_object_flags"
    cObjectGetFlags :: Ptr Object
