#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Soup.Objects.AuthManager
(
AuthManager(..) ,
IsAuthManager ,
toAuthManager ,
noAuthManager ,
#if ENABLE_OVERLOADING
AuthManagerClearCachedCredentialsMethodInfo,
#endif
authManagerClearCachedCredentials ,
#if ENABLE_OVERLOADING
AuthManagerUseAuthMethodInfo ,
#endif
authManagerUseAuth ,
AuthManagerAuthenticateCallback ,
#if ENABLE_OVERLOADING
AuthManagerAuthenticateSignalInfo ,
#endif
C_AuthManagerAuthenticateCallback ,
afterAuthManagerAuthenticate ,
genClosure_AuthManagerAuthenticate ,
mk_AuthManagerAuthenticateCallback ,
noAuthManagerAuthenticateCallback ,
onAuthManagerAuthenticate ,
wrap_AuthManagerAuthenticateCallback ,
) 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.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Soup.Interfaces.SessionFeature as Soup.SessionFeature
import {-# SOURCE #-} qualified GI.Soup.Objects.Auth as Soup.Auth
import {-# SOURCE #-} qualified GI.Soup.Objects.Message as Soup.Message
import {-# SOURCE #-} qualified GI.Soup.Structs.URI as Soup.URI
newtype AuthManager = AuthManager (ManagedPtr AuthManager)
foreign import ccall "soup_auth_manager_get_type"
c_soup_auth_manager_get_type :: IO GType
instance GObject AuthManager where
gobjectType = c_soup_auth_manager_get_type
class (GObject o, O.IsDescendantOf AuthManager o) => IsAuthManager o
instance (GObject o, O.IsDescendantOf AuthManager o) => IsAuthManager o
instance O.HasParentTypes AuthManager
type instance O.ParentTypes AuthManager = '[GObject.Object.Object, Soup.SessionFeature.SessionFeature]
toAuthManager :: (MonadIO m, IsAuthManager o) => o -> m AuthManager
toAuthManager = liftIO . unsafeCastTo AuthManager
noAuthManager :: Maybe AuthManager
noAuthManager = Nothing
#if ENABLE_OVERLOADING
type family ResolveAuthManagerMethod (t :: Symbol) (o :: *) :: * where
ResolveAuthManagerMethod "addFeature" o = Soup.SessionFeature.SessionFeatureAddFeatureMethodInfo
ResolveAuthManagerMethod "attach" o = Soup.SessionFeature.SessionFeatureAttachMethodInfo
ResolveAuthManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveAuthManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveAuthManagerMethod "clearCachedCredentials" o = AuthManagerClearCachedCredentialsMethodInfo
ResolveAuthManagerMethod "detach" o = Soup.SessionFeature.SessionFeatureDetachMethodInfo
ResolveAuthManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveAuthManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveAuthManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveAuthManagerMethod "hasFeature" o = Soup.SessionFeature.SessionFeatureHasFeatureMethodInfo
ResolveAuthManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveAuthManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveAuthManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveAuthManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveAuthManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveAuthManagerMethod "removeFeature" o = Soup.SessionFeature.SessionFeatureRemoveFeatureMethodInfo
ResolveAuthManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveAuthManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveAuthManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveAuthManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveAuthManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveAuthManagerMethod "useAuth" o = AuthManagerUseAuthMethodInfo
ResolveAuthManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveAuthManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveAuthManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveAuthManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveAuthManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveAuthManagerMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveAuthManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveAuthManagerMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAuthManagerMethod t AuthManager, O.MethodInfo info AuthManager p) => OL.IsLabel t (AuthManager -> 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
type AuthManagerAuthenticateCallback =
Soup.Message.Message
-> Soup.Auth.Auth
-> Bool
-> IO ()
noAuthManagerAuthenticateCallback :: Maybe AuthManagerAuthenticateCallback
noAuthManagerAuthenticateCallback = Nothing
type C_AuthManagerAuthenticateCallback =
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.Auth.Auth ->
CInt ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_AuthManagerAuthenticateCallback :: C_AuthManagerAuthenticateCallback -> IO (FunPtr C_AuthManagerAuthenticateCallback)
genClosure_AuthManagerAuthenticate :: MonadIO m => AuthManagerAuthenticateCallback -> m (GClosure C_AuthManagerAuthenticateCallback)
genClosure_AuthManagerAuthenticate cb = liftIO $ do
let cb' = wrap_AuthManagerAuthenticateCallback cb
mk_AuthManagerAuthenticateCallback cb' >>= B.GClosure.newGClosure
wrap_AuthManagerAuthenticateCallback ::
AuthManagerAuthenticateCallback ->
C_AuthManagerAuthenticateCallback
wrap_AuthManagerAuthenticateCallback _cb _ msg auth retrying _ = do
msg' <- (newObject Soup.Message.Message) msg
auth' <- (newObject Soup.Auth.Auth) auth
let retrying' = (/= 0) retrying
_cb msg' auth' retrying'
onAuthManagerAuthenticate :: (IsAuthManager a, MonadIO m) => a -> AuthManagerAuthenticateCallback -> m SignalHandlerId
onAuthManagerAuthenticate obj cb = liftIO $ do
let cb' = wrap_AuthManagerAuthenticateCallback cb
cb'' <- mk_AuthManagerAuthenticateCallback cb'
connectSignalFunPtr obj "authenticate" cb'' SignalConnectBefore
afterAuthManagerAuthenticate :: (IsAuthManager a, MonadIO m) => a -> AuthManagerAuthenticateCallback -> m SignalHandlerId
afterAuthManagerAuthenticate obj cb = liftIO $ do
let cb' = wrap_AuthManagerAuthenticateCallback cb
cb'' <- mk_AuthManagerAuthenticateCallback cb'
connectSignalFunPtr obj "authenticate" cb'' SignalConnectAfter
#if ENABLE_OVERLOADING
instance O.HasAttributeList AuthManager
type instance O.AttributeList AuthManager = AuthManagerAttributeList
type AuthManagerAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
data AuthManagerAuthenticateSignalInfo
instance SignalInfo AuthManagerAuthenticateSignalInfo where
type HaskellCallbackType AuthManagerAuthenticateSignalInfo = AuthManagerAuthenticateCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_AuthManagerAuthenticateCallback cb
cb'' <- mk_AuthManagerAuthenticateCallback cb'
connectSignalFunPtr obj "authenticate" cb'' connectMode
type instance O.SignalList AuthManager = AuthManagerSignalList
type AuthManagerSignalList = ('[ '("authenticate", AuthManagerAuthenticateSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "soup_auth_manager_clear_cached_credentials" soup_auth_manager_clear_cached_credentials ::
Ptr AuthManager ->
IO ()
authManagerClearCachedCredentials ::
(B.CallStack.HasCallStack, MonadIO m, IsAuthManager a) =>
a
-> m ()
authManagerClearCachedCredentials manager = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
soup_auth_manager_clear_cached_credentials manager'
touchManagedPtr manager
return ()
#if ENABLE_OVERLOADING
data AuthManagerClearCachedCredentialsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsAuthManager a) => O.MethodInfo AuthManagerClearCachedCredentialsMethodInfo a signature where
overloadedMethod _ = authManagerClearCachedCredentials
#endif
foreign import ccall "soup_auth_manager_use_auth" soup_auth_manager_use_auth ::
Ptr AuthManager ->
Ptr Soup.URI.URI ->
Ptr Soup.Auth.Auth ->
IO ()
authManagerUseAuth ::
(B.CallStack.HasCallStack, MonadIO m, IsAuthManager a, Soup.Auth.IsAuth b) =>
a
-> Soup.URI.URI
-> b
-> m ()
authManagerUseAuth manager uri auth = liftIO $ do
manager' <- unsafeManagedPtrCastPtr manager
uri' <- unsafeManagedPtrGetPtr uri
auth' <- unsafeManagedPtrCastPtr auth
soup_auth_manager_use_auth manager' uri' auth'
touchManagedPtr manager
touchManagedPtr uri
touchManagedPtr auth
return ()
#if ENABLE_OVERLOADING
data AuthManagerUseAuthMethodInfo
instance (signature ~ (Soup.URI.URI -> b -> m ()), MonadIO m, IsAuthManager a, Soup.Auth.IsAuth b) => O.MethodInfo AuthManagerUseAuthMethodInfo a signature where
overloadedMethod _ = authManagerUseAuth
#endif