#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.WebKit2.Structs.Credential
(
Credential(..) ,
noCredential ,
#if ENABLE_OVERLOADING
CredentialCopyMethodInfo ,
#endif
credentialCopy ,
#if ENABLE_OVERLOADING
CredentialFreeMethodInfo ,
#endif
credentialFree ,
#if ENABLE_OVERLOADING
CredentialGetPasswordMethodInfo ,
#endif
credentialGetPassword ,
#if ENABLE_OVERLOADING
CredentialGetPersistenceMethodInfo ,
#endif
credentialGetPersistence ,
#if ENABLE_OVERLOADING
CredentialGetUsernameMethodInfo ,
#endif
credentialGetUsername ,
#if ENABLE_OVERLOADING
CredentialHasPasswordMethodInfo ,
#endif
credentialHasPassword ,
credentialNew ,
) 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 {-# SOURCE #-} qualified GI.WebKit2.Enums as WebKit2.Enums
newtype Credential = Credential (ManagedPtr Credential)
foreign import ccall "webkit_credential_get_type" c_webkit_credential_get_type ::
IO GType
instance BoxedObject Credential where
boxedType _ = c_webkit_credential_get_type
noCredential :: Maybe Credential
noCredential = Nothing
#if ENABLE_OVERLOADING
instance O.HasAttributeList Credential
type instance O.AttributeList Credential = CredentialAttributeList
type CredentialAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "webkit_credential_new" webkit_credential_new ::
CString ->
CString ->
CUInt ->
IO (Ptr Credential)
credentialNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> T.Text
-> WebKit2.Enums.CredentialPersistence
-> m Credential
credentialNew username password persistence = liftIO $ do
username' <- textToCString username
password' <- textToCString password
let persistence' = (fromIntegral . fromEnum) persistence
result <- webkit_credential_new username' password' persistence'
checkUnexpectedReturnNULL "credentialNew" result
result' <- (wrapBoxed Credential) result
freeMem username'
freeMem password'
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "webkit_credential_copy" webkit_credential_copy ::
Ptr Credential ->
IO (Ptr Credential)
credentialCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
Credential
-> m Credential
credentialCopy credential = liftIO $ do
credential' <- unsafeManagedPtrGetPtr credential
result <- webkit_credential_copy credential'
checkUnexpectedReturnNULL "credentialCopy" result
result' <- (wrapBoxed Credential) result
touchManagedPtr credential
return result'
#if ENABLE_OVERLOADING
data CredentialCopyMethodInfo
instance (signature ~ (m Credential), MonadIO m) => O.MethodInfo CredentialCopyMethodInfo Credential signature where
overloadedMethod _ = credentialCopy
#endif
foreign import ccall "webkit_credential_free" webkit_credential_free ::
Ptr Credential ->
IO ()
credentialFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
Credential
-> m ()
credentialFree credential = liftIO $ do
credential' <- unsafeManagedPtrGetPtr credential
webkit_credential_free credential'
touchManagedPtr credential
return ()
#if ENABLE_OVERLOADING
data CredentialFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo CredentialFreeMethodInfo Credential signature where
overloadedMethod _ = credentialFree
#endif
foreign import ccall "webkit_credential_get_password" webkit_credential_get_password ::
Ptr Credential ->
IO CString
credentialGetPassword ::
(B.CallStack.HasCallStack, MonadIO m) =>
Credential
-> m T.Text
credentialGetPassword credential = liftIO $ do
credential' <- unsafeManagedPtrGetPtr credential
result <- webkit_credential_get_password credential'
checkUnexpectedReturnNULL "credentialGetPassword" result
result' <- cstringToText result
touchManagedPtr credential
return result'
#if ENABLE_OVERLOADING
data CredentialGetPasswordMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo CredentialGetPasswordMethodInfo Credential signature where
overloadedMethod _ = credentialGetPassword
#endif
foreign import ccall "webkit_credential_get_persistence" webkit_credential_get_persistence ::
Ptr Credential ->
IO CUInt
credentialGetPersistence ::
(B.CallStack.HasCallStack, MonadIO m) =>
Credential
-> m WebKit2.Enums.CredentialPersistence
credentialGetPersistence credential = liftIO $ do
credential' <- unsafeManagedPtrGetPtr credential
result <- webkit_credential_get_persistence credential'
let result' = (toEnum . fromIntegral) result
touchManagedPtr credential
return result'
#if ENABLE_OVERLOADING
data CredentialGetPersistenceMethodInfo
instance (signature ~ (m WebKit2.Enums.CredentialPersistence), MonadIO m) => O.MethodInfo CredentialGetPersistenceMethodInfo Credential signature where
overloadedMethod _ = credentialGetPersistence
#endif
foreign import ccall "webkit_credential_get_username" webkit_credential_get_username ::
Ptr Credential ->
IO CString
credentialGetUsername ::
(B.CallStack.HasCallStack, MonadIO m) =>
Credential
-> m T.Text
credentialGetUsername credential = liftIO $ do
credential' <- unsafeManagedPtrGetPtr credential
result <- webkit_credential_get_username credential'
checkUnexpectedReturnNULL "credentialGetUsername" result
result' <- cstringToText result
touchManagedPtr credential
return result'
#if ENABLE_OVERLOADING
data CredentialGetUsernameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo CredentialGetUsernameMethodInfo Credential signature where
overloadedMethod _ = credentialGetUsername
#endif
foreign import ccall "webkit_credential_has_password" webkit_credential_has_password ::
Ptr Credential ->
IO CInt
credentialHasPassword ::
(B.CallStack.HasCallStack, MonadIO m) =>
Credential
-> m Bool
credentialHasPassword credential = liftIO $ do
credential' <- unsafeManagedPtrGetPtr credential
result <- webkit_credential_has_password credential'
let result' = (/= 0) result
touchManagedPtr credential
return result'
#if ENABLE_OVERLOADING
data CredentialHasPasswordMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo CredentialHasPasswordMethodInfo Credential signature where
overloadedMethod _ = credentialHasPassword
#endif
#if ENABLE_OVERLOADING
type family ResolveCredentialMethod (t :: Symbol) (o :: *) :: * where
ResolveCredentialMethod "copy" o = CredentialCopyMethodInfo
ResolveCredentialMethod "free" o = CredentialFreeMethodInfo
ResolveCredentialMethod "hasPassword" o = CredentialHasPasswordMethodInfo
ResolveCredentialMethod "getPassword" o = CredentialGetPasswordMethodInfo
ResolveCredentialMethod "getPersistence" o = CredentialGetPersistenceMethodInfo
ResolveCredentialMethod "getUsername" o = CredentialGetUsernameMethodInfo
ResolveCredentialMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCredentialMethod t Credential, O.MethodInfo info Credential p) => OL.IsLabel t (Credential -> 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