#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.WebKit2.Objects.FaviconDatabase
(
FaviconDatabase(..) ,
IsFaviconDatabase ,
toFaviconDatabase ,
noFaviconDatabase ,
#if ENABLE_OVERLOADING
FaviconDatabaseClearMethodInfo ,
#endif
faviconDatabaseClear ,
#if ENABLE_OVERLOADING
FaviconDatabaseGetFaviconMethodInfo ,
#endif
faviconDatabaseGetFavicon ,
#if ENABLE_OVERLOADING
FaviconDatabaseGetFaviconFinishMethodInfo,
#endif
faviconDatabaseGetFaviconFinish ,
#if ENABLE_OVERLOADING
FaviconDatabaseGetFaviconUriMethodInfo ,
#endif
faviconDatabaseGetFaviconUri ,
C_FaviconDatabaseFaviconChangedCallback ,
FaviconDatabaseFaviconChangedCallback ,
#if 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.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)
foreign import ccall "webkit_favicon_database_get_type"
c_webkit_favicon_database_get_type :: IO GType
instance GObject FaviconDatabase where
gobjectType = c_webkit_favicon_database_get_type
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 = liftIO . unsafeCastTo FaviconDatabase
noFaviconDatabase :: Maybe FaviconDatabase
noFaviconDatabase = Nothing
#if 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 "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 (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
type FaviconDatabaseFaviconChangedCallback =
T.Text
-> T.Text
-> IO ()
noFaviconDatabaseFaviconChangedCallback :: Maybe FaviconDatabaseFaviconChangedCallback
noFaviconDatabaseFaviconChangedCallback = 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 cb = liftIO $ do
let cb' = wrap_FaviconDatabaseFaviconChangedCallback cb
mk_FaviconDatabaseFaviconChangedCallback cb' >>= B.GClosure.newGClosure
wrap_FaviconDatabaseFaviconChangedCallback ::
FaviconDatabaseFaviconChangedCallback ->
C_FaviconDatabaseFaviconChangedCallback
wrap_FaviconDatabaseFaviconChangedCallback _cb _ pageUri faviconUri _ = do
pageUri' <- cstringToText pageUri
faviconUri' <- cstringToText faviconUri
_cb pageUri' faviconUri'
onFaviconDatabaseFaviconChanged :: (IsFaviconDatabase a, MonadIO m) => a -> FaviconDatabaseFaviconChangedCallback -> m SignalHandlerId
onFaviconDatabaseFaviconChanged obj cb = liftIO $ do
let cb' = wrap_FaviconDatabaseFaviconChangedCallback cb
cb'' <- mk_FaviconDatabaseFaviconChangedCallback cb'
connectSignalFunPtr obj "favicon-changed" cb'' SignalConnectBefore
afterFaviconDatabaseFaviconChanged :: (IsFaviconDatabase a, MonadIO m) => a -> FaviconDatabaseFaviconChangedCallback -> m SignalHandlerId
afterFaviconDatabaseFaviconChanged obj cb = liftIO $ do
let cb' = wrap_FaviconDatabaseFaviconChangedCallback cb
cb'' <- mk_FaviconDatabaseFaviconChangedCallback cb'
connectSignalFunPtr obj "favicon-changed" cb'' SignalConnectAfter
#if ENABLE_OVERLOADING
instance O.HasAttributeList FaviconDatabase
type instance O.AttributeList FaviconDatabase = FaviconDatabaseAttributeList
type FaviconDatabaseAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
data FaviconDatabaseFaviconChangedSignalInfo
instance SignalInfo FaviconDatabaseFaviconChangedSignalInfo where
type HaskellCallbackType FaviconDatabaseFaviconChangedSignalInfo = FaviconDatabaseFaviconChangedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_FaviconDatabaseFaviconChangedCallback cb
cb'' <- mk_FaviconDatabaseFaviconChangedCallback cb'
connectSignalFunPtr obj "favicon-changed" cb'' connectMode
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 database = liftIO $ do
database' <- unsafeManagedPtrCastPtr database
webkit_favicon_database_clear database'
touchManagedPtr database
return ()
#if 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 database pageUri cancellable callback = liftIO $ do
database' <- unsafeManagedPtrCastPtr database
pageUri' <- textToCString pageUri
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
jCancellable' <- unsafeManagedPtrCastPtr jCancellable
return jCancellable'
maybeCallback <- case callback of
Nothing -> return (castPtrToFunPtr nullPtr)
Just jCallback -> do
ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))
poke ptrcallback jCallback'
return jCallback'
let userData = nullPtr
webkit_favicon_database_get_favicon database' pageUri' maybeCancellable maybeCallback userData
touchManagedPtr database
whenJust cancellable touchManagedPtr
freeMem pageUri'
return ()
#if 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 database result_ = liftIO $ do
database' <- unsafeManagedPtrCastPtr database
result_' <- unsafeManagedPtrCastPtr result_
onException (do
result <- propagateGError $ webkit_favicon_database_get_favicon_finish database' result_'
checkUnexpectedReturnNULL "faviconDatabaseGetFaviconFinish" result
result' <- (wrapBoxed Cairo.Surface.Surface) result
touchManagedPtr database
touchManagedPtr result_
return result'
) (do
return ()
)
#if 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 database pageUri = liftIO $ do
database' <- unsafeManagedPtrCastPtr database
pageUri' <- textToCString pageUri
result <- webkit_favicon_database_get_favicon_uri database' pageUri'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
freeMem result'
return result''
touchManagedPtr database
freeMem pageUri'
return maybeResult
#if 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