{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2.Objects.FaviconDatabase
(
FaviconDatabase(..) ,
IsFaviconDatabase ,
toFaviconDatabase ,
noFaviconDatabase ,
#if defined(ENABLE_OVERLOADING)
ResolveFaviconDatabaseMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
FaviconDatabaseClearMethodInfo ,
#endif
faviconDatabaseClear ,
#if defined(ENABLE_OVERLOADING)
FaviconDatabaseGetFaviconMethodInfo ,
#endif
faviconDatabaseGetFavicon ,
#if defined(ENABLE_OVERLOADING)
FaviconDatabaseGetFaviconFinishMethodInfo,
#endif
faviconDatabaseGetFaviconFinish ,
#if defined(ENABLE_OVERLOADING)
FaviconDatabaseGetFaviconUriMethodInfo ,
#endif
faviconDatabaseGetFaviconUri ,
C_FaviconDatabaseFaviconChangedCallback ,
FaviconDatabaseFaviconChangedCallback ,
#if defined(ENABLE_OVERLOADING)
FaviconDatabaseFaviconChangedSignalInfo ,
#endif
afterFaviconDatabaseFaviconChanged ,
genClosure_FaviconDatabaseFaviconChanged,
mk_FaviconDatabaseFaviconChangedCallback,
noFaviconDatabaseFaviconChangedCallback ,
onFaviconDatabaseFaviconChanged ,
wrap_FaviconDatabaseFaviconChangedCallback,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.Cairo.Structs.Surface as Cairo.Surface
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
newtype FaviconDatabase = FaviconDatabase (ManagedPtr FaviconDatabase)
deriving (FaviconDatabase -> FaviconDatabase -> Bool
(FaviconDatabase -> FaviconDatabase -> Bool)
-> (FaviconDatabase -> FaviconDatabase -> Bool)
-> Eq FaviconDatabase
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FaviconDatabase -> FaviconDatabase -> Bool
$c/= :: FaviconDatabase -> FaviconDatabase -> Bool
== :: FaviconDatabase -> FaviconDatabase -> Bool
$c== :: FaviconDatabase -> FaviconDatabase -> Bool
Eq)
foreign import ccall "webkit_favicon_database_get_type"
c_webkit_favicon_database_get_type :: IO GType
instance GObject FaviconDatabase where
gobjectType :: IO GType
gobjectType = IO GType
c_webkit_favicon_database_get_type
instance B.GValue.IsGValue FaviconDatabase where
toGValue :: FaviconDatabase -> IO GValue
toGValue o :: FaviconDatabase
o = do
GType
gtype <- IO GType
c_webkit_favicon_database_get_type
FaviconDatabase -> (Ptr FaviconDatabase -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FaviconDatabase
o (GType
-> (GValue -> Ptr FaviconDatabase -> IO ())
-> Ptr FaviconDatabase
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr FaviconDatabase -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO FaviconDatabase
fromGValue gv :: GValue
gv = do
Ptr FaviconDatabase
ptr <- GValue -> IO (Ptr FaviconDatabase)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr FaviconDatabase)
(ManagedPtr FaviconDatabase -> FaviconDatabase)
-> Ptr FaviconDatabase -> IO FaviconDatabase
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr FaviconDatabase -> FaviconDatabase
FaviconDatabase Ptr FaviconDatabase
ptr
class (GObject o, O.IsDescendantOf FaviconDatabase o) => IsFaviconDatabase o
instance (GObject o, O.IsDescendantOf FaviconDatabase o) => IsFaviconDatabase o
instance O.HasParentTypes FaviconDatabase
type instance O.ParentTypes FaviconDatabase = '[GObject.Object.Object]
toFaviconDatabase :: (MonadIO m, IsFaviconDatabase o) => o -> m FaviconDatabase
toFaviconDatabase :: o -> m FaviconDatabase
toFaviconDatabase = IO FaviconDatabase -> m FaviconDatabase
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FaviconDatabase -> m FaviconDatabase)
-> (o -> IO FaviconDatabase) -> o -> m FaviconDatabase
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr FaviconDatabase -> FaviconDatabase)
-> o -> IO FaviconDatabase
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr FaviconDatabase -> FaviconDatabase
FaviconDatabase
noFaviconDatabase :: Maybe FaviconDatabase
noFaviconDatabase :: Maybe FaviconDatabase
noFaviconDatabase = Maybe FaviconDatabase
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveFaviconDatabaseMethod (t :: Symbol) (o :: *) :: * where
ResolveFaviconDatabaseMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveFaviconDatabaseMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveFaviconDatabaseMethod "clear" o = FaviconDatabaseClearMethodInfo
ResolveFaviconDatabaseMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveFaviconDatabaseMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveFaviconDatabaseMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveFaviconDatabaseMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveFaviconDatabaseMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveFaviconDatabaseMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveFaviconDatabaseMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveFaviconDatabaseMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveFaviconDatabaseMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveFaviconDatabaseMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveFaviconDatabaseMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveFaviconDatabaseMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveFaviconDatabaseMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveFaviconDatabaseMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveFaviconDatabaseMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveFaviconDatabaseMethod "getFavicon" o = FaviconDatabaseGetFaviconMethodInfo
ResolveFaviconDatabaseMethod "getFaviconFinish" o = FaviconDatabaseGetFaviconFinishMethodInfo
ResolveFaviconDatabaseMethod "getFaviconUri" o = FaviconDatabaseGetFaviconUriMethodInfo
ResolveFaviconDatabaseMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveFaviconDatabaseMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveFaviconDatabaseMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveFaviconDatabaseMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveFaviconDatabaseMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFaviconDatabaseMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFaviconDatabaseMethod t FaviconDatabase, O.MethodInfo info FaviconDatabase p) => OL.IsLabel t (FaviconDatabase -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
type FaviconDatabaseFaviconChangedCallback =
T.Text
-> T.Text
-> IO ()
noFaviconDatabaseFaviconChangedCallback :: Maybe FaviconDatabaseFaviconChangedCallback
noFaviconDatabaseFaviconChangedCallback :: Maybe FaviconDatabaseFaviconChangedCallback
noFaviconDatabaseFaviconChangedCallback = Maybe FaviconDatabaseFaviconChangedCallback
forall a. Maybe a
Nothing
type C_FaviconDatabaseFaviconChangedCallback =
Ptr () ->
CString ->
CString ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_FaviconDatabaseFaviconChangedCallback :: C_FaviconDatabaseFaviconChangedCallback -> IO (FunPtr C_FaviconDatabaseFaviconChangedCallback)
genClosure_FaviconDatabaseFaviconChanged :: MonadIO m => FaviconDatabaseFaviconChangedCallback -> m (GClosure C_FaviconDatabaseFaviconChangedCallback)
genClosure_FaviconDatabaseFaviconChanged :: FaviconDatabaseFaviconChangedCallback
-> m (GClosure C_FaviconDatabaseFaviconChangedCallback)
genClosure_FaviconDatabaseFaviconChanged cb :: FaviconDatabaseFaviconChangedCallback
cb = IO (GClosure C_FaviconDatabaseFaviconChangedCallback)
-> m (GClosure C_FaviconDatabaseFaviconChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_FaviconDatabaseFaviconChangedCallback)
-> m (GClosure C_FaviconDatabaseFaviconChangedCallback))
-> IO (GClosure C_FaviconDatabaseFaviconChangedCallback)
-> m (GClosure C_FaviconDatabaseFaviconChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_FaviconDatabaseFaviconChangedCallback
cb' = FaviconDatabaseFaviconChangedCallback
-> C_FaviconDatabaseFaviconChangedCallback
wrap_FaviconDatabaseFaviconChangedCallback FaviconDatabaseFaviconChangedCallback
cb
C_FaviconDatabaseFaviconChangedCallback
-> IO (FunPtr C_FaviconDatabaseFaviconChangedCallback)
mk_FaviconDatabaseFaviconChangedCallback C_FaviconDatabaseFaviconChangedCallback
cb' IO (FunPtr C_FaviconDatabaseFaviconChangedCallback)
-> (FunPtr C_FaviconDatabaseFaviconChangedCallback
-> IO (GClosure C_FaviconDatabaseFaviconChangedCallback))
-> IO (GClosure C_FaviconDatabaseFaviconChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_FaviconDatabaseFaviconChangedCallback
-> IO (GClosure C_FaviconDatabaseFaviconChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_FaviconDatabaseFaviconChangedCallback ::
FaviconDatabaseFaviconChangedCallback ->
C_FaviconDatabaseFaviconChangedCallback
wrap_FaviconDatabaseFaviconChangedCallback :: FaviconDatabaseFaviconChangedCallback
-> C_FaviconDatabaseFaviconChangedCallback
wrap_FaviconDatabaseFaviconChangedCallback _cb :: FaviconDatabaseFaviconChangedCallback
_cb _ pageUri :: CString
pageUri faviconUri :: CString
faviconUri _ = do
Text
pageUri' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
pageUri
Text
faviconUri' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
faviconUri
FaviconDatabaseFaviconChangedCallback
_cb Text
pageUri' Text
faviconUri'
onFaviconDatabaseFaviconChanged :: (IsFaviconDatabase a, MonadIO m) => a -> FaviconDatabaseFaviconChangedCallback -> m SignalHandlerId
onFaviconDatabaseFaviconChanged :: a -> FaviconDatabaseFaviconChangedCallback -> m SignalHandlerId
onFaviconDatabaseFaviconChanged obj :: a
obj cb :: FaviconDatabaseFaviconChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_FaviconDatabaseFaviconChangedCallback
cb' = FaviconDatabaseFaviconChangedCallback
-> C_FaviconDatabaseFaviconChangedCallback
wrap_FaviconDatabaseFaviconChangedCallback FaviconDatabaseFaviconChangedCallback
cb
FunPtr C_FaviconDatabaseFaviconChangedCallback
cb'' <- C_FaviconDatabaseFaviconChangedCallback
-> IO (FunPtr C_FaviconDatabaseFaviconChangedCallback)
mk_FaviconDatabaseFaviconChangedCallback C_FaviconDatabaseFaviconChangedCallback
cb'
a
-> Text
-> FunPtr C_FaviconDatabaseFaviconChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "favicon-changed" FunPtr C_FaviconDatabaseFaviconChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterFaviconDatabaseFaviconChanged :: (IsFaviconDatabase a, MonadIO m) => a -> FaviconDatabaseFaviconChangedCallback -> m SignalHandlerId
afterFaviconDatabaseFaviconChanged :: a -> FaviconDatabaseFaviconChangedCallback -> m SignalHandlerId
afterFaviconDatabaseFaviconChanged obj :: a
obj cb :: FaviconDatabaseFaviconChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_FaviconDatabaseFaviconChangedCallback
cb' = FaviconDatabaseFaviconChangedCallback
-> C_FaviconDatabaseFaviconChangedCallback
wrap_FaviconDatabaseFaviconChangedCallback FaviconDatabaseFaviconChangedCallback
cb
FunPtr C_FaviconDatabaseFaviconChangedCallback
cb'' <- C_FaviconDatabaseFaviconChangedCallback
-> IO (FunPtr C_FaviconDatabaseFaviconChangedCallback)
mk_FaviconDatabaseFaviconChangedCallback C_FaviconDatabaseFaviconChangedCallback
cb'
a
-> Text
-> FunPtr C_FaviconDatabaseFaviconChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "favicon-changed" FunPtr C_FaviconDatabaseFaviconChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data FaviconDatabaseFaviconChangedSignalInfo
instance SignalInfo FaviconDatabaseFaviconChangedSignalInfo where
type HaskellCallbackType FaviconDatabaseFaviconChangedSignalInfo = FaviconDatabaseFaviconChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_FaviconDatabaseFaviconChangedCallback cb
cb'' <- mk_FaviconDatabaseFaviconChangedCallback cb'
connectSignalFunPtr obj "favicon-changed" cb'' connectMode detail
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FaviconDatabase
type instance O.AttributeList FaviconDatabase = FaviconDatabaseAttributeList
type FaviconDatabaseAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList FaviconDatabase = FaviconDatabaseSignalList
type FaviconDatabaseSignalList = ('[ '("faviconChanged", FaviconDatabaseFaviconChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_favicon_database_clear" webkit_favicon_database_clear ::
Ptr FaviconDatabase ->
IO ()
faviconDatabaseClear ::
(B.CallStack.HasCallStack, MonadIO m, IsFaviconDatabase a) =>
a
-> m ()
faviconDatabaseClear :: a -> m ()
faviconDatabaseClear database :: a
database = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FaviconDatabase
database' <- a -> IO (Ptr FaviconDatabase)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
database
Ptr FaviconDatabase -> IO ()
webkit_favicon_database_clear Ptr FaviconDatabase
database'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
database
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FaviconDatabaseClearMethodInfo
instance (signature ~ (m ()), MonadIO m, IsFaviconDatabase a) => O.MethodInfo FaviconDatabaseClearMethodInfo a signature where
overloadedMethod = faviconDatabaseClear
#endif
foreign import ccall "webkit_favicon_database_get_favicon" webkit_favicon_database_get_favicon ::
Ptr FaviconDatabase ->
CString ->
Ptr Gio.Cancellable.Cancellable ->
FunPtr Gio.Callbacks.C_AsyncReadyCallback ->
Ptr () ->
IO ()
faviconDatabaseGetFavicon ::
(B.CallStack.HasCallStack, MonadIO m, IsFaviconDatabase a, Gio.Cancellable.IsCancellable b) =>
a
-> T.Text
-> Maybe (b)
-> Maybe (Gio.Callbacks.AsyncReadyCallback)
-> m ()
faviconDatabaseGetFavicon :: a -> Text -> Maybe b -> Maybe AsyncReadyCallback -> m ()
faviconDatabaseGetFavicon database :: a
database pageUri :: Text
pageUri cancellable :: Maybe b
cancellable callback :: Maybe AsyncReadyCallback
callback = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FaviconDatabase
database' <- a -> IO (Ptr FaviconDatabase)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
database
CString
pageUri' <- Text -> IO CString
textToCString Text
pageUri
Ptr Cancellable
maybeCancellable <- case Maybe b
cancellable of
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
nullPtr
Just jCancellable :: b
jCancellable -> do
Ptr Cancellable
jCancellable' <- b -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jCancellable
Ptr Cancellable -> IO (Ptr Cancellable)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
jCancellable'
FunPtr C_AsyncReadyCallback
maybeCallback <- case Maybe AsyncReadyCallback
callback of
Nothing -> FunPtr C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
forall (m :: * -> *) a. Monad m => a -> m a
return (Ptr Any -> FunPtr C_AsyncReadyCallback
forall a b. Ptr a -> FunPtr b
castPtrToFunPtr Ptr Any
forall a. Ptr a
nullPtr)
Just jCallback :: AsyncReadyCallback
jCallback -> do
Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback <- IO (Ptr (FunPtr C_AsyncReadyCallback))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
FunPtr C_AsyncReadyCallback
jCallback' <- C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
Gio.Callbacks.mk_AsyncReadyCallback (Maybe (Ptr (FunPtr C_AsyncReadyCallback))
-> AsyncReadyCallback_WithClosures -> C_AsyncReadyCallback
Gio.Callbacks.wrap_AsyncReadyCallback (Ptr (FunPtr C_AsyncReadyCallback)
-> Maybe (Ptr (FunPtr C_AsyncReadyCallback))
forall a. a -> Maybe a
Just Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback) (AsyncReadyCallback -> AsyncReadyCallback_WithClosures
Gio.Callbacks.drop_closures_AsyncReadyCallback AsyncReadyCallback
jCallback))
Ptr (FunPtr C_AsyncReadyCallback)
-> FunPtr C_AsyncReadyCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback FunPtr C_AsyncReadyCallback
jCallback'
FunPtr C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_AsyncReadyCallback
jCallback'
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
Ptr FaviconDatabase
-> CString
-> Ptr Cancellable
-> FunPtr C_AsyncReadyCallback
-> Ptr ()
-> IO ()
webkit_favicon_database_get_favicon Ptr FaviconDatabase
database' CString
pageUri' Ptr Cancellable
maybeCancellable FunPtr C_AsyncReadyCallback
maybeCallback Ptr ()
forall a. Ptr a
userData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
database
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
cancellable b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
pageUri'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FaviconDatabaseGetFaviconMethodInfo
instance (signature ~ (T.Text -> Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsFaviconDatabase a, Gio.Cancellable.IsCancellable b) => O.MethodInfo FaviconDatabaseGetFaviconMethodInfo a signature where
overloadedMethod = faviconDatabaseGetFavicon
#endif
foreign import ccall "webkit_favicon_database_get_favicon_finish" webkit_favicon_database_get_favicon_finish ::
Ptr FaviconDatabase ->
Ptr Gio.AsyncResult.AsyncResult ->
Ptr (Ptr GError) ->
IO (Ptr Cairo.Surface.Surface)
faviconDatabaseGetFaviconFinish ::
(B.CallStack.HasCallStack, MonadIO m, IsFaviconDatabase a, Gio.AsyncResult.IsAsyncResult b) =>
a
-> b
-> m Cairo.Surface.Surface
faviconDatabaseGetFaviconFinish :: a -> b -> m Surface
faviconDatabaseGetFaviconFinish database :: a
database result_ :: b
result_ = IO Surface -> m Surface
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Surface -> m Surface) -> IO Surface -> m Surface
forall a b. (a -> b) -> a -> b
$ do
Ptr FaviconDatabase
database' <- a -> IO (Ptr FaviconDatabase)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
database
Ptr AsyncResult
result_' <- b -> IO (Ptr AsyncResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
result_
IO Surface -> IO () -> IO Surface
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Surface
result <- (Ptr (Ptr GError) -> IO (Ptr Surface)) -> IO (Ptr Surface)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Surface)) -> IO (Ptr Surface))
-> (Ptr (Ptr GError) -> IO (Ptr Surface)) -> IO (Ptr Surface)
forall a b. (a -> b) -> a -> b
$ Ptr FaviconDatabase
-> Ptr AsyncResult -> Ptr (Ptr GError) -> IO (Ptr Surface)
webkit_favicon_database_get_favicon_finish Ptr FaviconDatabase
database' Ptr AsyncResult
result_'
Text -> Ptr Surface -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "faviconDatabaseGetFaviconFinish" Ptr Surface
result
Surface
result' <- ((ManagedPtr Surface -> Surface) -> Ptr Surface -> IO Surface
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Surface -> Surface
Cairo.Surface.Surface) Ptr Surface
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
database
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
result_
Surface -> IO Surface
forall (m :: * -> *) a. Monad m => a -> m a
return Surface
result'
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data FaviconDatabaseGetFaviconFinishMethodInfo
instance (signature ~ (b -> m Cairo.Surface.Surface), MonadIO m, IsFaviconDatabase a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo FaviconDatabaseGetFaviconFinishMethodInfo a signature where
overloadedMethod = faviconDatabaseGetFaviconFinish
#endif
foreign import ccall "webkit_favicon_database_get_favicon_uri" webkit_favicon_database_get_favicon_uri ::
Ptr FaviconDatabase ->
CString ->
IO CString
faviconDatabaseGetFaviconUri ::
(B.CallStack.HasCallStack, MonadIO m, IsFaviconDatabase a) =>
a
-> T.Text
-> m (Maybe T.Text)
faviconDatabaseGetFaviconUri :: a -> Text -> m (Maybe Text)
faviconDatabaseGetFaviconUri database :: a
database pageUri :: Text
pageUri = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr FaviconDatabase
database' <- a -> IO (Ptr FaviconDatabase)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
database
CString
pageUri' <- Text -> IO CString
textToCString Text
pageUri
CString
result <- Ptr FaviconDatabase -> CString -> IO CString
webkit_favicon_database_get_favicon_uri Ptr FaviconDatabase
database' CString
pageUri'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \result' :: CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
database
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
pageUri'
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data FaviconDatabaseGetFaviconUriMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsFaviconDatabase a) => O.MethodInfo FaviconDatabaseGetFaviconUriMethodInfo a signature where
overloadedMethod = faviconDatabaseGetFaviconUri
#endif