gi-webkit-0.2.4.14: GI/WebKit/Objects/WebPluginDatabase.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.WebKit.Objects.WebPluginDatabase
(
-- * Exported types
WebPluginDatabase(..) ,
WebPluginDatabaseK ,
toWebPluginDatabase ,
noWebPluginDatabase ,
-- * Methods
-- ** webPluginDatabaseGetPluginForMimetype
WebPluginDatabaseGetPluginForMimetypeMethodInfo,
webPluginDatabaseGetPluginForMimetype ,
-- ** webPluginDatabaseGetPlugins
WebPluginDatabaseGetPluginsMethodInfo ,
webPluginDatabaseGetPlugins ,
-- ** webPluginDatabasePluginsListFree
webPluginDatabasePluginsListFree ,
-- ** webPluginDatabaseRefresh
WebPluginDatabaseRefreshMethodInfo ,
webPluginDatabaseRefresh ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.WebKit.Types
import GI.WebKit.Callbacks
import qualified GI.GObject as GObject
newtype WebPluginDatabase = WebPluginDatabase (ForeignPtr WebPluginDatabase)
foreign import ccall "webkit_web_plugin_database_get_type"
c_webkit_web_plugin_database_get_type :: IO GType
type instance ParentTypes WebPluginDatabase = WebPluginDatabaseParentTypes
type WebPluginDatabaseParentTypes = '[GObject.Object]
instance GObject WebPluginDatabase where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_webkit_web_plugin_database_get_type
class GObject o => WebPluginDatabaseK o
instance (GObject o, IsDescendantOf WebPluginDatabase o) => WebPluginDatabaseK o
toWebPluginDatabase :: WebPluginDatabaseK o => o -> IO WebPluginDatabase
toWebPluginDatabase = unsafeCastTo WebPluginDatabase
noWebPluginDatabase :: Maybe WebPluginDatabase
noWebPluginDatabase = Nothing
type family ResolveWebPluginDatabaseMethod (t :: Symbol) (o :: *) :: * where
ResolveWebPluginDatabaseMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveWebPluginDatabaseMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveWebPluginDatabaseMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveWebPluginDatabaseMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveWebPluginDatabaseMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveWebPluginDatabaseMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveWebPluginDatabaseMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveWebPluginDatabaseMethod "ref" o = GObject.ObjectRefMethodInfo
ResolveWebPluginDatabaseMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveWebPluginDatabaseMethod "refresh" o = WebPluginDatabaseRefreshMethodInfo
ResolveWebPluginDatabaseMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveWebPluginDatabaseMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveWebPluginDatabaseMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveWebPluginDatabaseMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveWebPluginDatabaseMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveWebPluginDatabaseMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveWebPluginDatabaseMethod "unref" o = GObject.ObjectUnrefMethodInfo
ResolveWebPluginDatabaseMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveWebPluginDatabaseMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveWebPluginDatabaseMethod "getPluginForMimetype" o = WebPluginDatabaseGetPluginForMimetypeMethodInfo
ResolveWebPluginDatabaseMethod "getPlugins" o = WebPluginDatabaseGetPluginsMethodInfo
ResolveWebPluginDatabaseMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveWebPluginDatabaseMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveWebPluginDatabaseMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveWebPluginDatabaseMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveWebPluginDatabaseMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveWebPluginDatabaseMethod t WebPluginDatabase, MethodInfo info WebPluginDatabase p) => IsLabelProxy t (WebPluginDatabase -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveWebPluginDatabaseMethod t WebPluginDatabase, MethodInfo info WebPluginDatabase p) => IsLabel t (WebPluginDatabase -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
type instance AttributeList WebPluginDatabase = WebPluginDatabaseAttributeList
type WebPluginDatabaseAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList WebPluginDatabase = WebPluginDatabaseSignalList
type WebPluginDatabaseSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method WebPluginDatabase::get_plugin_for_mimetype
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit" "WebPluginDatabase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface "WebKit" "WebPlugin")
-- throws : False
-- Skip return : False
foreign import ccall "webkit_web_plugin_database_get_plugin_for_mimetype" webkit_web_plugin_database_get_plugin_for_mimetype ::
Ptr WebPluginDatabase -> -- _obj : TInterface "WebKit" "WebPluginDatabase"
CString -> -- mime_type : TBasicType TUTF8
IO (Ptr WebPlugin)
webPluginDatabaseGetPluginForMimetype ::
(MonadIO m, WebPluginDatabaseK a) =>
a -- _obj
-> T.Text -- mimeType
-> m WebPlugin -- result
webPluginDatabaseGetPluginForMimetype _obj mimeType = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
mimeType' <- textToCString mimeType
result <- webkit_web_plugin_database_get_plugin_for_mimetype _obj' mimeType'
checkUnexpectedReturnNULL "webkit_web_plugin_database_get_plugin_for_mimetype" result
result' <- (wrapObject WebPlugin) result
touchManagedPtr _obj
freeMem mimeType'
return result'
data WebPluginDatabaseGetPluginForMimetypeMethodInfo
instance (signature ~ (T.Text -> m WebPlugin), MonadIO m, WebPluginDatabaseK a) => MethodInfo WebPluginDatabaseGetPluginForMimetypeMethodInfo a signature where
overloadedMethod _ = webPluginDatabaseGetPluginForMimetype
-- method WebPluginDatabase::get_plugins
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit" "WebPluginDatabase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TGSList (TInterface "WebKit" "WebPlugin"))
-- throws : False
-- Skip return : False
foreign import ccall "webkit_web_plugin_database_get_plugins" webkit_web_plugin_database_get_plugins ::
Ptr WebPluginDatabase -> -- _obj : TInterface "WebKit" "WebPluginDatabase"
IO (Ptr (GSList (Ptr WebPlugin)))
webPluginDatabaseGetPlugins ::
(MonadIO m, WebPluginDatabaseK a) =>
a -- _obj
-> m [WebPlugin] -- result
webPluginDatabaseGetPlugins _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- webkit_web_plugin_database_get_plugins _obj'
result' <- unpackGSList result
result'' <- mapM (wrapObject WebPlugin) result'
g_slist_free result
touchManagedPtr _obj
return result''
data WebPluginDatabaseGetPluginsMethodInfo
instance (signature ~ (m [WebPlugin]), MonadIO m, WebPluginDatabaseK a) => MethodInfo WebPluginDatabaseGetPluginsMethodInfo a signature where
overloadedMethod _ = webPluginDatabaseGetPlugins
-- method WebPluginDatabase::refresh
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit" "WebPluginDatabase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "webkit_web_plugin_database_refresh" webkit_web_plugin_database_refresh ::
Ptr WebPluginDatabase -> -- _obj : TInterface "WebKit" "WebPluginDatabase"
IO ()
webPluginDatabaseRefresh ::
(MonadIO m, WebPluginDatabaseK a) =>
a -- _obj
-> m () -- result
webPluginDatabaseRefresh _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
webkit_web_plugin_database_refresh _obj'
touchManagedPtr _obj
return ()
data WebPluginDatabaseRefreshMethodInfo
instance (signature ~ (m ()), MonadIO m, WebPluginDatabaseK a) => MethodInfo WebPluginDatabaseRefreshMethodInfo a signature where
overloadedMethod _ = webPluginDatabaseRefresh
-- method WebPluginDatabase::plugins_list_free
-- method type : MemberFunction
-- Args : [Arg {argCName = "list", argType = TGSList (TInterface "WebKit" "WebPlugin"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "webkit_web_plugin_database_plugins_list_free" webkit_web_plugin_database_plugins_list_free ::
Ptr (GSList (Ptr WebPlugin)) -> -- list : TGSList (TInterface "WebKit" "WebPlugin")
IO ()
webPluginDatabasePluginsListFree ::
(MonadIO m, WebPluginK a) =>
[a] -- list
-> m () -- result
webPluginDatabasePluginsListFree list = liftIO $ do
let list' = map unsafeManagedPtrCastPtr list
list'' <- packGSList list'
webkit_web_plugin_database_plugins_list_free list''
mapM_ touchManagedPtr list
g_slist_free list''
return ()