gi-soup-0.2.52.12: GI/Soup/Objects/Logger.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.Soup.Objects.Logger
(
-- * Exported types
Logger(..) ,
LoggerK ,
toLogger ,
noLogger ,
-- * Methods
-- ** loggerAttach
loggerAttach ,
-- ** loggerDetach
loggerDetach ,
-- ** loggerNew
loggerNew ,
-- ** loggerSetPrinter
loggerSetPrinter ,
-- ** loggerSetRequestFilter
loggerSetRequestFilter ,
-- ** loggerSetResponseFilter
loggerSetResponseFilter ,
) 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.Soup.Types
import GI.Soup.Callbacks
import qualified GI.GLib as GLib
import qualified GI.GObject as GObject
newtype Logger = Logger (ForeignPtr Logger)
foreign import ccall "soup_logger_get_type"
c_soup_logger_get_type :: IO GType
type instance ParentTypes Logger = LoggerParentTypes
type LoggerParentTypes = '[GObject.Object, SessionFeature]
instance GObject Logger where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_soup_logger_get_type
class GObject o => LoggerK o
instance (GObject o, IsDescendantOf Logger o) => LoggerK o
toLogger :: LoggerK o => o -> IO Logger
toLogger = unsafeCastTo Logger
noLogger :: Maybe Logger
noLogger = Nothing
type instance AttributeList Logger = LoggerAttributeList
type LoggerAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList Logger = LoggerSignalList
type LoggerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method Logger::new
-- method type : Constructor
-- Args : [Arg {argName = "level", argType = TInterface "Soup" "LoggerLogLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_body_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "level", argType = TInterface "Soup" "LoggerLogLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_body_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Soup" "Logger"
-- throws : False
-- Skip return : False
foreign import ccall "soup_logger_new" soup_logger_new ::
CUInt -> -- level : TInterface "Soup" "LoggerLogLevel"
Int32 -> -- max_body_size : TBasicType TInt32
IO (Ptr Logger)
loggerNew ::
(MonadIO m) =>
LoggerLogLevel -> -- level
Int32 -> -- max_body_size
m Logger
loggerNew level max_body_size = liftIO $ do
let level' = (fromIntegral . fromEnum) level
result <- soup_logger_new level' max_body_size
checkUnexpectedReturnNULL "soup_logger_new" result
result' <- (wrapObject Logger) result
return result'
-- method Logger::attach
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_logger_attach" soup_logger_attach ::
Ptr Logger -> -- _obj : TInterface "Soup" "Logger"
Ptr Session -> -- session : TInterface "Soup" "Session"
IO ()
{-# DEPRECATED loggerAttach ["Use soup_session_add_feature() instead."]#-}
loggerAttach ::
(MonadIO m, LoggerK a, SessionK b) =>
a -> -- _obj
b -> -- session
m ()
loggerAttach _obj session = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let session' = unsafeManagedPtrCastPtr session
soup_logger_attach _obj' session'
touchManagedPtr _obj
touchManagedPtr session
return ()
-- method Logger::detach
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "session", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_logger_detach" soup_logger_detach ::
Ptr Logger -> -- _obj : TInterface "Soup" "Logger"
Ptr Session -> -- session : TInterface "Soup" "Session"
IO ()
{-# DEPRECATED loggerDetach ["Use soup_session_remove_feature() instead."]#-}
loggerDetach ::
(MonadIO m, LoggerK a, SessionK b) =>
a -> -- _obj
b -> -- session
m ()
loggerDetach _obj session = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let session' = unsafeManagedPtrCastPtr session
soup_logger_detach _obj' session'
touchManagedPtr _obj
touchManagedPtr session
return ()
-- method Logger::set_printer
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "printer", argType = TInterface "Soup" "LoggerPrinter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "printer_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "printer", argType = TInterface "Soup" "LoggerPrinter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_logger_set_printer" soup_logger_set_printer ::
Ptr Logger -> -- _obj : TInterface "Soup" "Logger"
FunPtr LoggerPrinterC -> -- printer : TInterface "Soup" "LoggerPrinter"
Ptr () -> -- printer_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- destroy : TInterface "GLib" "DestroyNotify"
IO ()
loggerSetPrinter ::
(MonadIO m, LoggerK a) =>
a -> -- _obj
LoggerPrinter -> -- printer
m ()
loggerSetPrinter _obj printer = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
printer' <- mkLoggerPrinter (loggerPrinterWrapper Nothing printer)
let printer_data = castFunPtrToPtr printer'
let destroy = safeFreeFunPtrPtr
soup_logger_set_printer _obj' printer' printer_data destroy
touchManagedPtr _obj
return ()
-- method Logger::set_request_filter
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "request_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "filter_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "request_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_logger_set_request_filter" soup_logger_set_request_filter ::
Ptr Logger -> -- _obj : TInterface "Soup" "Logger"
FunPtr LoggerFilterC -> -- request_filter : TInterface "Soup" "LoggerFilter"
Ptr () -> -- filter_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- destroy : TInterface "GLib" "DestroyNotify"
IO ()
loggerSetRequestFilter ::
(MonadIO m, LoggerK a) =>
a -> -- _obj
LoggerFilter -> -- request_filter
m ()
loggerSetRequestFilter _obj request_filter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
request_filter' <- mkLoggerFilter (loggerFilterWrapper Nothing request_filter)
let filter_data = castFunPtrToPtr request_filter'
let destroy = safeFreeFunPtrPtr
soup_logger_set_request_filter _obj' request_filter' filter_data destroy
touchManagedPtr _obj
return ()
-- method Logger::set_response_filter
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "response_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "filter_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Logger", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "response_filter", argType = TInterface "Soup" "LoggerFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_logger_set_response_filter" soup_logger_set_response_filter ::
Ptr Logger -> -- _obj : TInterface "Soup" "Logger"
FunPtr LoggerFilterC -> -- response_filter : TInterface "Soup" "LoggerFilter"
Ptr () -> -- filter_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- destroy : TInterface "GLib" "DestroyNotify"
IO ()
loggerSetResponseFilter ::
(MonadIO m, LoggerK a) =>
a -> -- _obj
LoggerFilter -> -- response_filter
m ()
loggerSetResponseFilter _obj response_filter = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
response_filter' <- mkLoggerFilter (loggerFilterWrapper Nothing response_filter)
let filter_data = castFunPtrToPtr response_filter'
let destroy = safeFreeFunPtrPtr
soup_logger_set_response_filter _obj' response_filter' filter_data destroy
touchManagedPtr _obj
return ()