{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) /No description available in the introspection data./ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.WebKit2.Objects.UserContentFilterStore ( -- * Exported types UserContentFilterStore(..) , IsUserContentFilterStore , toUserContentFilterStore , noUserContentFilterStore , -- * Methods -- ** fetchIdentifiers #method:fetchIdentifiers# #if ENABLE_OVERLOADING UserContentFilterStoreFetchIdentifiersMethodInfo, #endif userContentFilterStoreFetchIdentifiers , -- ** fetchIdentifiersFinish #method:fetchIdentifiersFinish# #if ENABLE_OVERLOADING UserContentFilterStoreFetchIdentifiersFinishMethodInfo, #endif userContentFilterStoreFetchIdentifiersFinish, -- ** getPath #method:getPath# #if ENABLE_OVERLOADING UserContentFilterStoreGetPathMethodInfo , #endif userContentFilterStoreGetPath , -- ** load #method:load# #if ENABLE_OVERLOADING UserContentFilterStoreLoadMethodInfo , #endif userContentFilterStoreLoad , -- ** loadFinish #method:loadFinish# #if ENABLE_OVERLOADING UserContentFilterStoreLoadFinishMethodInfo, #endif userContentFilterStoreLoadFinish , -- ** new #method:new# userContentFilterStoreNew , -- ** remove #method:remove# #if ENABLE_OVERLOADING UserContentFilterStoreRemoveMethodInfo , #endif userContentFilterStoreRemove , -- ** removeFinish #method:removeFinish# #if ENABLE_OVERLOADING UserContentFilterStoreRemoveFinishMethodInfo, #endif userContentFilterStoreRemoveFinish , -- ** save #method:save# #if ENABLE_OVERLOADING UserContentFilterStoreSaveMethodInfo , #endif userContentFilterStoreSave , -- ** saveFinish #method:saveFinish# #if ENABLE_OVERLOADING UserContentFilterStoreSaveFinishMethodInfo, #endif userContentFilterStoreSaveFinish , -- ** saveFromFile #method:saveFromFile# #if ENABLE_OVERLOADING UserContentFilterStoreSaveFromFileMethodInfo, #endif userContentFilterStoreSaveFromFile , -- ** saveFromFileFinish #method:saveFromFileFinish# #if ENABLE_OVERLOADING UserContentFilterStoreSaveFromFileFinishMethodInfo, #endif userContentFilterStoreSaveFromFileFinish, -- * Properties -- ** path #attr:path# {- | The directory used for filter storage. This path is used as the base directory where user content filters are stored on disk. /Since: 2.24/ -} #if ENABLE_OVERLOADING UserContentFilterStorePathPropertyInfo , #endif constructUserContentFilterStorePath , getUserContentFilterStorePath , #if ENABLE_OVERLOADING userContentFilterStorePath , #endif ) 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.GLib.Structs.Bytes as GLib.Bytes 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.Interfaces.File as Gio.File import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable import {-# SOURCE #-} qualified GI.WebKit2.Structs.UserContentFilter as WebKit2.UserContentFilter -- | Memory-managed wrapper type. newtype UserContentFilterStore = UserContentFilterStore (ManagedPtr UserContentFilterStore) foreign import ccall "webkit_user_content_filter_store_get_type" c_webkit_user_content_filter_store_get_type :: IO GType instance GObject UserContentFilterStore where gobjectType = c_webkit_user_content_filter_store_get_type -- | Type class for types which can be safely cast to `UserContentFilterStore`, for instance with `toUserContentFilterStore`. class (GObject o, O.IsDescendantOf UserContentFilterStore o) => IsUserContentFilterStore o instance (GObject o, O.IsDescendantOf UserContentFilterStore o) => IsUserContentFilterStore o instance O.HasParentTypes UserContentFilterStore type instance O.ParentTypes UserContentFilterStore = '[GObject.Object.Object] -- | Cast to `UserContentFilterStore`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toUserContentFilterStore :: (MonadIO m, IsUserContentFilterStore o) => o -> m UserContentFilterStore toUserContentFilterStore = liftIO . unsafeCastTo UserContentFilterStore -- | A convenience alias for `Nothing` :: `Maybe` `UserContentFilterStore`. noUserContentFilterStore :: Maybe UserContentFilterStore noUserContentFilterStore = Nothing #if ENABLE_OVERLOADING type family ResolveUserContentFilterStoreMethod (t :: Symbol) (o :: *) :: * where ResolveUserContentFilterStoreMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveUserContentFilterStoreMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveUserContentFilterStoreMethod "fetchIdentifiers" o = UserContentFilterStoreFetchIdentifiersMethodInfo ResolveUserContentFilterStoreMethod "fetchIdentifiersFinish" o = UserContentFilterStoreFetchIdentifiersFinishMethodInfo ResolveUserContentFilterStoreMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveUserContentFilterStoreMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveUserContentFilterStoreMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveUserContentFilterStoreMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveUserContentFilterStoreMethod "load" o = UserContentFilterStoreLoadMethodInfo ResolveUserContentFilterStoreMethod "loadFinish" o = UserContentFilterStoreLoadFinishMethodInfo ResolveUserContentFilterStoreMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveUserContentFilterStoreMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveUserContentFilterStoreMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveUserContentFilterStoreMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveUserContentFilterStoreMethod "remove" o = UserContentFilterStoreRemoveMethodInfo ResolveUserContentFilterStoreMethod "removeFinish" o = UserContentFilterStoreRemoveFinishMethodInfo ResolveUserContentFilterStoreMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveUserContentFilterStoreMethod "save" o = UserContentFilterStoreSaveMethodInfo ResolveUserContentFilterStoreMethod "saveFinish" o = UserContentFilterStoreSaveFinishMethodInfo ResolveUserContentFilterStoreMethod "saveFromFile" o = UserContentFilterStoreSaveFromFileMethodInfo ResolveUserContentFilterStoreMethod "saveFromFileFinish" o = UserContentFilterStoreSaveFromFileFinishMethodInfo ResolveUserContentFilterStoreMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveUserContentFilterStoreMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveUserContentFilterStoreMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveUserContentFilterStoreMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveUserContentFilterStoreMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveUserContentFilterStoreMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveUserContentFilterStoreMethod "getPath" o = UserContentFilterStoreGetPathMethodInfo ResolveUserContentFilterStoreMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveUserContentFilterStoreMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveUserContentFilterStoreMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveUserContentFilterStoreMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveUserContentFilterStoreMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveUserContentFilterStoreMethod t UserContentFilterStore, O.MethodInfo info UserContentFilterStore p) => OL.IsLabel t (UserContentFilterStore -> 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 -- VVV Prop "path" -- Type: TBasicType TUTF8 -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] -- Nullable: (Just False,Nothing) {- | Get the value of the “@path@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' userContentFilterStore #path @ -} getUserContentFilterStorePath :: (MonadIO m, IsUserContentFilterStore o) => o -> m T.Text getUserContentFilterStorePath obj = liftIO $ checkUnexpectedNothing "getUserContentFilterStorePath" $ B.Properties.getObjectPropertyString obj "path" {- | Construct a `GValueConstruct` with valid value for the “@path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructUserContentFilterStorePath :: (IsUserContentFilterStore o) => T.Text -> IO (GValueConstruct o) constructUserContentFilterStorePath val = B.Properties.constructObjectPropertyString "path" (Just val) #if ENABLE_OVERLOADING data UserContentFilterStorePathPropertyInfo instance AttrInfo UserContentFilterStorePathPropertyInfo where type AttrAllowedOps UserContentFilterStorePathPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear] type AttrSetTypeConstraint UserContentFilterStorePathPropertyInfo = (~) T.Text type AttrBaseTypeConstraint UserContentFilterStorePathPropertyInfo = IsUserContentFilterStore type AttrGetType UserContentFilterStorePathPropertyInfo = T.Text type AttrLabel UserContentFilterStorePathPropertyInfo = "path" type AttrOrigin UserContentFilterStorePathPropertyInfo = UserContentFilterStore attrGet _ = getUserContentFilterStorePath attrSet _ = undefined attrConstruct _ = constructUserContentFilterStorePath attrClear _ = undefined #endif #if ENABLE_OVERLOADING instance O.HasAttributeList UserContentFilterStore type instance O.AttributeList UserContentFilterStore = UserContentFilterStoreAttributeList type UserContentFilterStoreAttributeList = ('[ '("path", UserContentFilterStorePathPropertyInfo)] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING userContentFilterStorePath :: AttrLabelProxy "path" userContentFilterStorePath = AttrLabelProxy #endif #if ENABLE_OVERLOADING type instance O.SignalList UserContentFilterStore = UserContentFilterStoreSignalList type UserContentFilterStoreSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif -- method UserContentFilterStore::new -- method type : Constructor -- Args : [Arg {argCName = "storage_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "path where data for filters will be stored on disk", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"})) -- throws : False -- Skip return : False foreign import ccall "webkit_user_content_filter_store_new" webkit_user_content_filter_store_new :: CString -> -- storage_path : TBasicType TUTF8 IO (Ptr UserContentFilterStore) {- | Create a new 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' to manipulate filters stored at /@storagePath@/. The path must point to a local filesystem, and will be created if needed. /Since: 2.24/ -} userContentFilterStoreNew :: (B.CallStack.HasCallStack, MonadIO m) => T.Text {- ^ /@storagePath@/: path where data for filters will be stored on disk -} -> m UserContentFilterStore {- ^ __Returns:__ a newly created 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} userContentFilterStoreNew storagePath = liftIO $ do storagePath' <- textToCString storagePath result <- webkit_user_content_filter_store_new storagePath' checkUnexpectedReturnNULL "userContentFilterStoreNew" result result' <- (wrapObject UserContentFilterStore) result freeMem storagePath' return result' #if ENABLE_OVERLOADING #endif -- method UserContentFilterStore::fetch_identifiers -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable or %NULL to ignore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GAsyncReadyCallback to call when the removal is completed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to the callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_user_content_filter_store_fetch_identifiers" webkit_user_content_filter_store_fetch_identifiers :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) Ptr Gio.Cancellable.Cancellable -> -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"}) FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}) Ptr () -> -- user_data : TBasicType TPtr IO () {- | Asynchronously retrieve a list of the identifiers for all the stored filters. When the operation is finished, /@callback@/ will be invoked, which then can use 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreFetchIdentifiersFinish' to obtain the list of filter identifiers. /Since: 2.24/ -} userContentFilterStoreFetchIdentifiers :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.Cancellable.IsCancellable b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> Maybe (b) {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' or 'Nothing' to ignore -} -> Maybe (Gio.Callbacks.AsyncReadyCallback) {- ^ /@callback@/: a 'GI.Gio.Callbacks.AsyncReadyCallback' to call when the removal is completed -} -> m () userContentFilterStoreFetchIdentifiers store cancellable callback = liftIO $ do store' <- unsafeManagedPtrCastPtr store 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_user_content_filter_store_fetch_identifiers store' maybeCancellable maybeCallback userData touchManagedPtr store whenJust cancellable touchManagedPtr return () #if ENABLE_OVERLOADING data UserContentFilterStoreFetchIdentifiersMethodInfo instance (signature ~ (Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsUserContentFilterStore a, Gio.Cancellable.IsCancellable b) => O.MethodInfo UserContentFilterStoreFetchIdentifiersMethodInfo a signature where overloadedMethod _ = userContentFilterStoreFetchIdentifiers #endif -- method UserContentFilterStore::fetch_identifiers_finish -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8)) -- throws : False -- Skip return : False foreign import ccall "webkit_user_content_filter_store_fetch_identifiers_finish" webkit_user_content_filter_store_fetch_identifiers_finish :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) Ptr Gio.AsyncResult.AsyncResult -> -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"}) IO (Ptr CString) {- | Finishes an asynchronous fetch of the list of identifiers for the stored filters previously started with 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreFetchIdentifiers'. /Since: 2.24/ -} userContentFilterStoreFetchIdentifiersFinish :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> b {- ^ /@result@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -} -> m [T.Text] {- ^ __Returns:__ a 'Nothing'-terminated list of filter identifiers. -} userContentFilterStoreFetchIdentifiersFinish store result_ = liftIO $ do store' <- unsafeManagedPtrCastPtr store result_' <- unsafeManagedPtrCastPtr result_ result <- webkit_user_content_filter_store_fetch_identifiers_finish store' result_' checkUnexpectedReturnNULL "userContentFilterStoreFetchIdentifiersFinish" result result' <- unpackZeroTerminatedUTF8CArray result mapZeroTerminatedCArray freeMem result freeMem result touchManagedPtr store touchManagedPtr result_ return result' #if ENABLE_OVERLOADING data UserContentFilterStoreFetchIdentifiersFinishMethodInfo instance (signature ~ (b -> m [T.Text]), MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo UserContentFilterStoreFetchIdentifiersFinishMethodInfo a signature where overloadedMethod _ = userContentFilterStoreFetchIdentifiersFinish #endif -- method UserContentFilterStore::get_path -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "webkit_user_content_filter_store_get_path" webkit_user_content_filter_store_get_path :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) IO CString {- | /No description available in the introspection data./ /Since: 2.24/ -} userContentFilterStoreGetPath :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> m T.Text {- ^ __Returns:__ The storage path for user content filters. -} userContentFilterStoreGetPath store = liftIO $ do store' <- unsafeManagedPtrCastPtr store result <- webkit_user_content_filter_store_get_path store' checkUnexpectedReturnNULL "userContentFilterStoreGetPath" result result' <- cstringToText result touchManagedPtr store return result' #if ENABLE_OVERLOADING data UserContentFilterStoreGetPathMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsUserContentFilterStore a) => O.MethodInfo UserContentFilterStoreGetPathMethodInfo a signature where overloadedMethod _ = userContentFilterStoreGetPath #endif -- method UserContentFilterStore::load -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "identifier", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a filter identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable or %NULL to ignore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GAsyncReadyCallback to call when the load is completed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to the callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_user_content_filter_store_load" webkit_user_content_filter_store_load :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) CString -> -- identifier : TBasicType TUTF8 Ptr Gio.Cancellable.Cancellable -> -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"}) FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}) Ptr () -> -- user_data : TBasicType TPtr IO () {- | Asynchronously load a content filter given its /@identifier@/. The filter must have been previously stored using 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreSave'. When the operation is finished, /@callback@/ will be invoked, which then can use 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreLoadFinish' to obtain the resulting filter. /Since: 2.24/ -} userContentFilterStoreLoad :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.Cancellable.IsCancellable b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> T.Text {- ^ /@identifier@/: a filter identifier -} -> Maybe (b) {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' or 'Nothing' to ignore -} -> Maybe (Gio.Callbacks.AsyncReadyCallback) {- ^ /@callback@/: a 'GI.Gio.Callbacks.AsyncReadyCallback' to call when the load is completed -} -> m () userContentFilterStoreLoad store identifier cancellable callback = liftIO $ do store' <- unsafeManagedPtrCastPtr store identifier' <- textToCString identifier 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_user_content_filter_store_load store' identifier' maybeCancellable maybeCallback userData touchManagedPtr store whenJust cancellable touchManagedPtr freeMem identifier' return () #if ENABLE_OVERLOADING data UserContentFilterStoreLoadMethodInfo instance (signature ~ (T.Text -> Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsUserContentFilterStore a, Gio.Cancellable.IsCancellable b) => O.MethodInfo UserContentFilterStoreLoadMethodInfo a signature where overloadedMethod _ = userContentFilterStoreLoad #endif -- method UserContentFilterStore::load_finish -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "UserContentFilter"})) -- throws : True -- Skip return : False foreign import ccall "webkit_user_content_filter_store_load_finish" webkit_user_content_filter_store_load_finish :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) Ptr Gio.AsyncResult.AsyncResult -> -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"}) Ptr (Ptr GError) -> -- error IO (Ptr WebKit2.UserContentFilter.UserContentFilter) {- | Finishes an asynchronous filter load previously started with 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreLoad'. /Since: 2.24/ -} userContentFilterStoreLoadFinish :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> b {- ^ /@result@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -} -> m WebKit2.UserContentFilter.UserContentFilter {- ^ __Returns:__ a 'GI.WebKit2.Structs.UserContentFilter.UserContentFilter', or 'Nothing' if the load failed /(Can throw 'Data.GI.Base.GError.GError')/ -} userContentFilterStoreLoadFinish store result_ = liftIO $ do store' <- unsafeManagedPtrCastPtr store result_' <- unsafeManagedPtrCastPtr result_ onException (do result <- propagateGError $ webkit_user_content_filter_store_load_finish store' result_' checkUnexpectedReturnNULL "userContentFilterStoreLoadFinish" result result' <- (wrapBoxed WebKit2.UserContentFilter.UserContentFilter) result touchManagedPtr store touchManagedPtr result_ return result' ) (do return () ) #if ENABLE_OVERLOADING data UserContentFilterStoreLoadFinishMethodInfo instance (signature ~ (b -> m WebKit2.UserContentFilter.UserContentFilter), MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo UserContentFilterStoreLoadFinishMethodInfo a signature where overloadedMethod _ = userContentFilterStoreLoadFinish #endif -- method UserContentFilterStore::remove -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "identifier", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a filter identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable or %NULL to ignore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GAsyncReadyCallback to call when the removal is completed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to the callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_user_content_filter_store_remove" webkit_user_content_filter_store_remove :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) CString -> -- identifier : TBasicType TUTF8 Ptr Gio.Cancellable.Cancellable -> -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"}) FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}) Ptr () -> -- user_data : TBasicType TPtr IO () {- | Asynchronously remove a content filter given its /@identifier@/. When the operation is finished, /@callback@/ will be invoked, which then can use 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreRemoveFinish' to check whether the removal was successful. /Since: 2.24/ -} userContentFilterStoreRemove :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.Cancellable.IsCancellable b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> T.Text {- ^ /@identifier@/: a filter identifier -} -> Maybe (b) {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' or 'Nothing' to ignore -} -> Maybe (Gio.Callbacks.AsyncReadyCallback) {- ^ /@callback@/: a 'GI.Gio.Callbacks.AsyncReadyCallback' to call when the removal is completed -} -> m () userContentFilterStoreRemove store identifier cancellable callback = liftIO $ do store' <- unsafeManagedPtrCastPtr store identifier' <- textToCString identifier 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_user_content_filter_store_remove store' identifier' maybeCancellable maybeCallback userData touchManagedPtr store whenJust cancellable touchManagedPtr freeMem identifier' return () #if ENABLE_OVERLOADING data UserContentFilterStoreRemoveMethodInfo instance (signature ~ (T.Text -> Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsUserContentFilterStore a, Gio.Cancellable.IsCancellable b) => O.MethodInfo UserContentFilterStoreRemoveMethodInfo a signature where overloadedMethod _ = userContentFilterStoreRemove #endif -- method UserContentFilterStore::remove_finish -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : True -- Skip return : False foreign import ccall "webkit_user_content_filter_store_remove_finish" webkit_user_content_filter_store_remove_finish :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) Ptr Gio.AsyncResult.AsyncResult -> -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"}) Ptr (Ptr GError) -> -- error IO CInt {- | Finishes an asynchronous filter removal previously started with 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreRemove'. /Since: 2.24/ -} userContentFilterStoreRemoveFinish :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> b {- ^ /@result@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -} -> m () {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -} userContentFilterStoreRemoveFinish store result_ = liftIO $ do store' <- unsafeManagedPtrCastPtr store result_' <- unsafeManagedPtrCastPtr result_ onException (do _ <- propagateGError $ webkit_user_content_filter_store_remove_finish store' result_' touchManagedPtr store touchManagedPtr result_ return () ) (do return () ) #if ENABLE_OVERLOADING data UserContentFilterStoreRemoveFinishMethodInfo instance (signature ~ (b -> m ()), MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo UserContentFilterStoreRemoveFinishMethodInfo a signature where overloadedMethod _ = userContentFilterStoreRemoveFinish #endif -- method UserContentFilterStore::save -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "identifier", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string used to identify the saved filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GBytes containing the rule set in JSON format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable or %NULL to ignore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GAsyncReadyCallback to call when saving is completed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to the callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_user_content_filter_store_save" webkit_user_content_filter_store_save :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) CString -> -- identifier : TBasicType TUTF8 Ptr GLib.Bytes.Bytes -> -- source : TInterface (Name {namespace = "GLib", name = "Bytes"}) Ptr Gio.Cancellable.Cancellable -> -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"}) FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}) Ptr () -> -- user_data : TBasicType TPtr IO () {- | Asynchronously save a content filter from a source rule set in the . The /@identifier@/ can be used afterwards to refer to the filter when using 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreRemove' and 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreLoad'. When the /@identifier@/ has been used in the past, the new filter source will replace the one saved beforehand for the same identifier. When the operation is finished, /@callback@/ will be invoked, which then can use 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreSaveFinish' to obtain the resulting filter. /Since: 2.24/ -} userContentFilterStoreSave :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.Cancellable.IsCancellable b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> T.Text {- ^ /@identifier@/: a string used to identify the saved filter -} -> GLib.Bytes.Bytes {- ^ /@source@/: 'GI.GLib.Structs.Bytes.Bytes' containing the rule set in JSON format -} -> Maybe (b) {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' or 'Nothing' to ignore -} -> Maybe (Gio.Callbacks.AsyncReadyCallback) {- ^ /@callback@/: a 'GI.Gio.Callbacks.AsyncReadyCallback' to call when saving is completed -} -> m () userContentFilterStoreSave store identifier source cancellable callback = liftIO $ do store' <- unsafeManagedPtrCastPtr store identifier' <- textToCString identifier source' <- unsafeManagedPtrGetPtr source 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_user_content_filter_store_save store' identifier' source' maybeCancellable maybeCallback userData touchManagedPtr store touchManagedPtr source whenJust cancellable touchManagedPtr freeMem identifier' return () #if ENABLE_OVERLOADING data UserContentFilterStoreSaveMethodInfo instance (signature ~ (T.Text -> GLib.Bytes.Bytes -> Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsUserContentFilterStore a, Gio.Cancellable.IsCancellable b) => O.MethodInfo UserContentFilterStoreSaveMethodInfo a signature where overloadedMethod _ = userContentFilterStoreSave #endif -- method UserContentFilterStore::save_finish -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "UserContentFilter"})) -- throws : True -- Skip return : False foreign import ccall "webkit_user_content_filter_store_save_finish" webkit_user_content_filter_store_save_finish :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) Ptr Gio.AsyncResult.AsyncResult -> -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"}) Ptr (Ptr GError) -> -- error IO (Ptr WebKit2.UserContentFilter.UserContentFilter) {- | Finishes an asynchronous filter save previously started with 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreSave'. /Since: 2.24/ -} userContentFilterStoreSaveFinish :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> b {- ^ /@result@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -} -> m WebKit2.UserContentFilter.UserContentFilter {- ^ __Returns:__ a 'GI.WebKit2.Structs.UserContentFilter.UserContentFilter', or 'Nothing' if saving failed /(Can throw 'Data.GI.Base.GError.GError')/ -} userContentFilterStoreSaveFinish store result_ = liftIO $ do store' <- unsafeManagedPtrCastPtr store result_' <- unsafeManagedPtrCastPtr result_ onException (do result <- propagateGError $ webkit_user_content_filter_store_save_finish store' result_' checkUnexpectedReturnNULL "userContentFilterStoreSaveFinish" result result' <- (wrapBoxed WebKit2.UserContentFilter.UserContentFilter) result touchManagedPtr store touchManagedPtr result_ return result' ) (do return () ) #if ENABLE_OVERLOADING data UserContentFilterStoreSaveFinishMethodInfo instance (signature ~ (b -> m WebKit2.UserContentFilter.UserContentFilter), MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo UserContentFilterStoreSaveFinishMethodInfo a signature where overloadedMethod _ = userContentFilterStoreSaveFinish #endif -- method UserContentFilterStore::save_from_file -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "identifier", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string used to identify the saved filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFile containing the rule set in JSON format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable or %NULL to ignore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GAsyncReadyCallback to call when saving is completed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to the callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "webkit_user_content_filter_store_save_from_file" webkit_user_content_filter_store_save_from_file :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) CString -> -- identifier : TBasicType TUTF8 Ptr Gio.File.File -> -- file : TInterface (Name {namespace = "Gio", name = "File"}) Ptr Gio.Cancellable.Cancellable -> -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"}) FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}) Ptr () -> -- user_data : TBasicType TPtr IO () {- | Asynchronously save a content filter from the contents of a file, which must be native to the platform, as checked by 'GI.Gio.Interfaces.File.fileIsNative'. See 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreSave' for more details. When the operation is finished, /@callback@/ will be invoked, which then can use 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreSaveFinish' to obtain the resulting filter. /Since: 2.24/ -} userContentFilterStoreSaveFromFile :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> T.Text {- ^ /@identifier@/: a string used to identify the saved filter -} -> b {- ^ /@file@/: a 'GI.Gio.Interfaces.File.File' containing the rule set in JSON format -} -> Maybe (c) {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' or 'Nothing' to ignore -} -> Maybe (Gio.Callbacks.AsyncReadyCallback) {- ^ /@callback@/: a 'GI.Gio.Callbacks.AsyncReadyCallback' to call when saving is completed -} -> m () userContentFilterStoreSaveFromFile store identifier file cancellable callback = liftIO $ do store' <- unsafeManagedPtrCastPtr store identifier' <- textToCString identifier file' <- unsafeManagedPtrCastPtr file 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_user_content_filter_store_save_from_file store' identifier' file' maybeCancellable maybeCallback userData touchManagedPtr store touchManagedPtr file whenJust cancellable touchManagedPtr freeMem identifier' return () #if ENABLE_OVERLOADING data UserContentFilterStoreSaveFromFileMethodInfo instance (signature ~ (T.Text -> b -> Maybe (c) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsUserContentFilterStore a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) => O.MethodInfo UserContentFilterStoreSaveFromFileMethodInfo a signature where overloadedMethod _ = userContentFilterStoreSaveFromFile #endif -- method UserContentFilterStore::save_from_file_finish -- method type : OrdinaryMethod -- Args : [Arg {argCName = "store", argType = TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitUserContentFilterStore", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "WebKit2", name = "UserContentFilter"})) -- throws : True -- Skip return : False foreign import ccall "webkit_user_content_filter_store_save_from_file_finish" webkit_user_content_filter_store_save_from_file_finish :: Ptr UserContentFilterStore -> -- store : TInterface (Name {namespace = "WebKit2", name = "UserContentFilterStore"}) Ptr Gio.AsyncResult.AsyncResult -> -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"}) Ptr (Ptr GError) -> -- error IO (Ptr WebKit2.UserContentFilter.UserContentFilter) {- | Finishes and asynchronous filter save previously started with 'GI.WebKit2.Objects.UserContentFilterStore.userContentFilterStoreSaveFromFile'. /Since: 2.24/ -} userContentFilterStoreSaveFromFileFinish :: (B.CallStack.HasCallStack, MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => a {- ^ /@store@/: a 'GI.WebKit2.Objects.UserContentFilterStore.UserContentFilterStore' -} -> b {- ^ /@result@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -} -> m WebKit2.UserContentFilter.UserContentFilter {- ^ __Returns:__ a 'GI.WebKit2.Structs.UserContentFilter.UserContentFilter', or 'Nothing' if saving failed. /(Can throw 'Data.GI.Base.GError.GError')/ -} userContentFilterStoreSaveFromFileFinish store result_ = liftIO $ do store' <- unsafeManagedPtrCastPtr store result_' <- unsafeManagedPtrCastPtr result_ onException (do result <- propagateGError $ webkit_user_content_filter_store_save_from_file_finish store' result_' checkUnexpectedReturnNULL "userContentFilterStoreSaveFromFileFinish" result result' <- (wrapBoxed WebKit2.UserContentFilter.UserContentFilter) result touchManagedPtr store touchManagedPtr result_ return result' ) (do return () ) #if ENABLE_OVERLOADING data UserContentFilterStoreSaveFromFileFinishMethodInfo instance (signature ~ (b -> m WebKit2.UserContentFilter.UserContentFilter), MonadIO m, IsUserContentFilterStore a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo UserContentFilterStoreSaveFromFileFinishMethodInfo a signature where overloadedMethod _ = userContentFilterStoreSaveFromFileFinish #endif