gi-webkit2-0.2.10.13: GI/WebKit2/Structs/MimeInfo.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.WebKit2.Structs.MimeInfo
(
-- * Exported types
MimeInfo(..) ,
noMimeInfo ,
-- * Methods
-- ** mimeInfoGetDescription
MimeInfoGetDescriptionMethodInfo ,
mimeInfoGetDescription ,
-- ** mimeInfoGetExtensions
MimeInfoGetExtensionsMethodInfo ,
mimeInfoGetExtensions ,
-- ** mimeInfoGetMimeType
MimeInfoGetMimeTypeMethodInfo ,
mimeInfoGetMimeType ,
-- ** mimeInfoRef
MimeInfoRefMethodInfo ,
mimeInfoRef ,
-- ** mimeInfoUnref
MimeInfoUnrefMethodInfo ,
mimeInfoUnref ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.WebKit2.Types
import GI.WebKit2.Callbacks
newtype MimeInfo = MimeInfo (ForeignPtr MimeInfo)
foreign import ccall "webkit_mime_info_get_type" c_webkit_mime_info_get_type ::
IO GType
instance BoxedObject MimeInfo where
boxedType _ = c_webkit_mime_info_get_type
noMimeInfo :: Maybe MimeInfo
noMimeInfo = Nothing
-- method MimeInfo::get_description
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2" "MimeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "webkit_mime_info_get_description" webkit_mime_info_get_description ::
Ptr MimeInfo -> -- _obj : TInterface "WebKit2" "MimeInfo"
IO CString
mimeInfoGetDescription ::
(MonadIO m) =>
MimeInfo -- _obj
-> m T.Text -- result
mimeInfoGetDescription _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- webkit_mime_info_get_description _obj'
checkUnexpectedReturnNULL "webkit_mime_info_get_description" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
data MimeInfoGetDescriptionMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => MethodInfo MimeInfoGetDescriptionMethodInfo MimeInfo signature where
overloadedMethod _ = mimeInfoGetDescription
-- method MimeInfo::get_extensions
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2" "MimeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "webkit_mime_info_get_extensions" webkit_mime_info_get_extensions ::
Ptr MimeInfo -> -- _obj : TInterface "WebKit2" "MimeInfo"
IO (Ptr CString)
mimeInfoGetExtensions ::
(MonadIO m) =>
MimeInfo -- _obj
-> m [T.Text] -- result
mimeInfoGetExtensions _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- webkit_mime_info_get_extensions _obj'
checkUnexpectedReturnNULL "webkit_mime_info_get_extensions" result
result' <- unpackZeroTerminatedUTF8CArray result
touchManagedPtr _obj
return result'
data MimeInfoGetExtensionsMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m) => MethodInfo MimeInfoGetExtensionsMethodInfo MimeInfo signature where
overloadedMethod _ = mimeInfoGetExtensions
-- method MimeInfo::get_mime_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2" "MimeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "webkit_mime_info_get_mime_type" webkit_mime_info_get_mime_type ::
Ptr MimeInfo -> -- _obj : TInterface "WebKit2" "MimeInfo"
IO CString
mimeInfoGetMimeType ::
(MonadIO m) =>
MimeInfo -- _obj
-> m T.Text -- result
mimeInfoGetMimeType _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- webkit_mime_info_get_mime_type _obj'
checkUnexpectedReturnNULL "webkit_mime_info_get_mime_type" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
data MimeInfoGetMimeTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => MethodInfo MimeInfoGetMimeTypeMethodInfo MimeInfo signature where
overloadedMethod _ = mimeInfoGetMimeType
-- method MimeInfo::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2" "MimeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "WebKit2" "MimeInfo"
-- throws : False
-- Skip return : False
foreign import ccall "webkit_mime_info_ref" webkit_mime_info_ref ::
Ptr MimeInfo -> -- _obj : TInterface "WebKit2" "MimeInfo"
IO (Ptr MimeInfo)
mimeInfoRef ::
(MonadIO m) =>
MimeInfo -- _obj
-> m MimeInfo -- result
mimeInfoRef _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- webkit_mime_info_ref _obj'
checkUnexpectedReturnNULL "webkit_mime_info_ref" result
result' <- (wrapBoxed MimeInfo) result
touchManagedPtr _obj
return result'
data MimeInfoRefMethodInfo
instance (signature ~ (m MimeInfo), MonadIO m) => MethodInfo MimeInfoRefMethodInfo MimeInfo signature where
overloadedMethod _ = mimeInfoRef
-- method MimeInfo::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2" "MimeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "webkit_mime_info_unref" webkit_mime_info_unref ::
Ptr MimeInfo -> -- _obj : TInterface "WebKit2" "MimeInfo"
IO ()
mimeInfoUnref ::
(MonadIO m) =>
MimeInfo -- _obj
-> m () -- result
mimeInfoUnref _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
webkit_mime_info_unref _obj'
touchManagedPtr _obj
return ()
data MimeInfoUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo MimeInfoUnrefMethodInfo MimeInfo signature where
overloadedMethod _ = mimeInfoUnref
type family ResolveMimeInfoMethod (t :: Symbol) (o :: *) :: * where
ResolveMimeInfoMethod "ref" o = MimeInfoRefMethodInfo
ResolveMimeInfoMethod "unref" o = MimeInfoUnrefMethodInfo
ResolveMimeInfoMethod "getDescription" o = MimeInfoGetDescriptionMethodInfo
ResolveMimeInfoMethod "getExtensions" o = MimeInfoGetExtensionsMethodInfo
ResolveMimeInfoMethod "getMimeType" o = MimeInfoGetMimeTypeMethodInfo
ResolveMimeInfoMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveMimeInfoMethod t MimeInfo, MethodInfo info MimeInfo p) => IsLabelProxy t (MimeInfo -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveMimeInfoMethod t MimeInfo, MethodInfo info MimeInfo p) => IsLabel t (MimeInfo -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif