From: Andy S. <And...@co...> - 2010-08-15 19:11:14
|
diffing dir... Sun Aug 15 14:10:49 EDT 2010 Andy Stewart <laz...@gm...> * Fix AsyncREslut.chs docs and move marshalAsyncReadyCallback from Base.chs. Ignore-this: b1ad70f5089ffdedddc0155749eca08f { hunk ./gio/System/GIO/Async/AsyncResult.chs 31 +-- * Types hunk ./gio/System/GIO/Async/AsyncResult.chs 34 - AsyncReadyCallback + AsyncReadyCallback, + +-- * Methods + marshalAsyncReadyCallback, hunk ./gio/System/GIO/Async/AsyncResult.chs 40 +import Control.Monad hunk ./gio/System/GIO/Async/AsyncResult.chs 42 - -import System.GIO.Base +import System.Glib.GObject hunk ./gio/System/GIO/Async/AsyncResult.chs 45 +type AsyncReadyCallback = GObject -> AsyncResult -> IO () + +-- | This type just use for bind, don't expose it. +{#pointer GAsyncReadyCallback#} + +foreign import ccall "wrapper" mkAsyncReadyCallback :: [_$_] + (Ptr GObject -> Ptr AsyncResult -> Ptr () -> IO ()) -> IO GAsyncReadyCallback + +marshalAsyncReadyCallback :: AsyncReadyCallback -> IO GAsyncReadyCallback +marshalAsyncReadyCallback asyncReadyCallback = [_$_] + mkAsyncReadyCallback $ \ cObject cAsyncResult cCallback -> do + object <- (makeNewGObject mkGObject . return) cObject + asyncResult <- (makeNewGObject mkAsyncResult . return) cAsyncResult + asyncReadyCallback object asyncResult + freeHaskellFunPtr (castPtrToFunPtr cCallback) } |