module GI.Soup.Objects.AuthManager
(
AuthManager(..) ,
IsAuthManager ,
toAuthManager ,
noAuthManager ,
AuthManagerUseAuthMethodInfo ,
authManagerUseAuth ,
AuthManagerAuthenticateCallback ,
AuthManagerAuthenticateSignalInfo ,
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.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.GObject.Objects.Object as GObject.Object
import qualified GI.Soup.Interfaces.SessionFeature as Soup.SessionFeature
import qualified GI.Soup.Objects.Auth as Soup.Auth
import qualified GI.Soup.Objects.Message as Soup.Message
import 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 => IsAuthManager o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError AuthManager a) =>
IsAuthManager a
#endif
instance IsAuthManager AuthManager
instance GObject.Object.IsObject AuthManager
instance Soup.SessionFeature.IsSessionFeature AuthManager
toAuthManager :: IsAuthManager o => o -> IO AuthManager
toAuthManager = unsafeCastTo AuthManager
noAuthManager :: Maybe AuthManager
noAuthManager = Nothing
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 "detach" o = Soup.SessionFeature.SessionFeatureDetachMethodInfo
ResolveAuthManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveAuthManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveAuthManagerMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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 "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveAuthManagerMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAuthManagerMethod t AuthManager, O.MethodInfo info AuthManager p) => O.IsLabelProxy t (AuthManager -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveAuthManagerMethod t AuthManager, O.MethodInfo info AuthManager p) => O.IsLabel t (AuthManager -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#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 :: AuthManagerAuthenticateCallback -> IO Closure
genClosure_AuthManagerAuthenticate cb = do
let cb' = wrap_AuthManagerAuthenticateCallback cb
mk_AuthManagerAuthenticateCallback cb' >>= newCClosure
wrap_AuthManagerAuthenticateCallback ::
AuthManagerAuthenticateCallback ->
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.Auth.Auth ->
CInt ->
Ptr () ->
IO ()
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 :: (GObject a, MonadIO m) => a -> AuthManagerAuthenticateCallback -> m SignalHandlerId
onAuthManagerAuthenticate obj cb = liftIO $ connectAuthManagerAuthenticate obj cb SignalConnectBefore
afterAuthManagerAuthenticate :: (GObject a, MonadIO m) => a -> AuthManagerAuthenticateCallback -> m SignalHandlerId
afterAuthManagerAuthenticate obj cb = connectAuthManagerAuthenticate obj cb SignalConnectAfter
connectAuthManagerAuthenticate :: (GObject a, MonadIO m) =>
a -> AuthManagerAuthenticateCallback -> SignalConnectMode -> m SignalHandlerId
connectAuthManagerAuthenticate obj cb after = liftIO $ do
let cb' = wrap_AuthManagerAuthenticateCallback cb
cb'' <- mk_AuthManagerAuthenticateCallback cb'
connectSignalFunPtr obj "authenticate" cb'' after
instance O.HasAttributeList AuthManager
type instance O.AttributeList AuthManager = AuthManagerAttributeList
type AuthManagerAttributeList = ('[ ] :: [(Symbol, *)])
data AuthManagerAuthenticateSignalInfo
instance SignalInfo AuthManagerAuthenticateSignalInfo where
type HaskellCallbackType AuthManagerAuthenticateSignalInfo = AuthManagerAuthenticateCallback
connectSignal _ = connectAuthManagerAuthenticate
type instance O.SignalList AuthManager = AuthManagerSignalList
type AuthManagerSignalList = ('[ '("authenticate", AuthManagerAuthenticateSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
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 ()
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