module GI.WebKit2.Objects.FaviconDatabase
(
FaviconDatabase(..) ,
IsFaviconDatabase ,
toFaviconDatabase ,
noFaviconDatabase ,
FaviconDatabaseClearMethodInfo ,
faviconDatabaseClear ,
FaviconDatabaseGetFaviconMethodInfo ,
faviconDatabaseGetFavicon ,
FaviconDatabaseGetFaviconFinishMethodInfo,
faviconDatabaseGetFaviconFinish ,
FaviconDatabaseGetFaviconUriMethodInfo ,
faviconDatabaseGetFaviconUri ,
C_FaviconDatabaseFaviconChangedCallback ,
FaviconDatabaseFaviconChangedCallback ,
FaviconDatabaseFaviconChangedSignalInfo ,
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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 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 => IsFaviconDatabase o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError FaviconDatabase a) =>
IsFaviconDatabase a
#endif
instance IsFaviconDatabase FaviconDatabase
instance GObject.Object.IsObject FaviconDatabase
toFaviconDatabase :: IsFaviconDatabase o => o -> IO FaviconDatabase
toFaviconDatabase = unsafeCastTo FaviconDatabase
noFaviconDatabase :: Maybe FaviconDatabase
noFaviconDatabase = Nothing
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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveFaviconDatabaseMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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) => O.IsLabelProxy t (FaviconDatabase -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveFaviconDatabaseMethod t FaviconDatabase, O.MethodInfo info FaviconDatabase p) => O.IsLabel t (FaviconDatabase -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#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 :: FaviconDatabaseFaviconChangedCallback -> IO Closure
genClosure_FaviconDatabaseFaviconChanged cb = do
let cb' = wrap_FaviconDatabaseFaviconChangedCallback cb
mk_FaviconDatabaseFaviconChangedCallback cb' >>= newCClosure
wrap_FaviconDatabaseFaviconChangedCallback ::
FaviconDatabaseFaviconChangedCallback ->
Ptr () ->
CString ->
CString ->
Ptr () ->
IO ()
wrap_FaviconDatabaseFaviconChangedCallback _cb _ pageUri faviconUri _ = do
pageUri' <- cstringToText pageUri
faviconUri' <- cstringToText faviconUri
_cb pageUri' faviconUri'
onFaviconDatabaseFaviconChanged :: (GObject a, MonadIO m) => a -> FaviconDatabaseFaviconChangedCallback -> m SignalHandlerId
onFaviconDatabaseFaviconChanged obj cb = liftIO $ connectFaviconDatabaseFaviconChanged obj cb SignalConnectBefore
afterFaviconDatabaseFaviconChanged :: (GObject a, MonadIO m) => a -> FaviconDatabaseFaviconChangedCallback -> m SignalHandlerId
afterFaviconDatabaseFaviconChanged obj cb = connectFaviconDatabaseFaviconChanged obj cb SignalConnectAfter
connectFaviconDatabaseFaviconChanged :: (GObject a, MonadIO m) =>
a -> FaviconDatabaseFaviconChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectFaviconDatabaseFaviconChanged obj cb after = liftIO $ do
let cb' = wrap_FaviconDatabaseFaviconChangedCallback cb
cb'' <- mk_FaviconDatabaseFaviconChangedCallback cb'
connectSignalFunPtr obj "favicon-changed" cb'' after
instance O.HasAttributeList FaviconDatabase
type instance O.AttributeList FaviconDatabase = FaviconDatabaseAttributeList
type FaviconDatabaseAttributeList = ('[ ] :: [(Symbol, *)])
data FaviconDatabaseFaviconChangedSignalInfo
instance SignalInfo FaviconDatabaseFaviconChangedSignalInfo where
type HaskellCallbackType FaviconDatabaseFaviconChangedSignalInfo = FaviconDatabaseFaviconChangedCallback
connectSignal _ = connectFaviconDatabaseFaviconChanged
type instance O.SignalList FaviconDatabase = FaviconDatabaseSignalList
type FaviconDatabaseSignalList = ('[ '("faviconChanged", FaviconDatabaseFaviconChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
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 ()
data FaviconDatabaseClearMethodInfo
instance (signature ~ (m ()), MonadIO m, IsFaviconDatabase a) => O.MethodInfo FaviconDatabaseClearMethodInfo a signature where
overloadedMethod _ = faviconDatabaseClear
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'
ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
maybeCallback <- case callback of
Nothing -> return (castPtrToFunPtr nullPtr)
Just jCallback -> do
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 ()
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
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 ()
)
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
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 T.Text
faviconDatabaseGetFaviconUri database pageUri = liftIO $ do
database' <- unsafeManagedPtrCastPtr database
pageUri' <- textToCString pageUri
result <- webkit_favicon_database_get_favicon_uri database' pageUri'
checkUnexpectedReturnNULL "faviconDatabaseGetFaviconUri" result
result' <- cstringToText result
freeMem result
touchManagedPtr database
freeMem pageUri'
return result'
data FaviconDatabaseGetFaviconUriMethodInfo
instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsFaviconDatabase a) => O.MethodInfo FaviconDatabaseGetFaviconUriMethodInfo a signature where
overloadedMethod _ = faviconDatabaseGetFaviconUri