module GI.WebKit2.Structs.Credential
(
Credential(..) ,
noCredential ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
CredentialCopyMethodInfo ,
#endif
credentialCopy ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
CredentialFreeMethodInfo ,
#endif
credentialFree ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
CredentialGetPasswordMethodInfo ,
#endif
credentialGetPassword ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
CredentialGetPersistenceMethodInfo ,
#endif
credentialGetPersistence ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
CredentialGetUsernameMethodInfo ,
#endif
credentialGetUsername ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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.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.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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data CredentialHasPasswordMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo CredentialHasPasswordMethodInfo Credential signature where
overloadedMethod _ = credentialHasPassword
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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) => O.IsLabelProxy t (Credential -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveCredentialMethod t Credential, O.MethodInfo info Credential p) => O.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
#endif