packages feed

gi-soup (empty) → 0.2.50.8

raw patch · 6 files changed

+20003/−0 lines, 6 filesdep +basedep +bytestringdep +containerssetup-changed

Dependencies added: base, bytestring, containers, gi-gio, gi-glib, gi-gobject, haskell-gi-base, text, transformers

Files

+ GI/Soup.hs view
@@ -0,0 +1,16839 @@+-- Generated code.++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,+    TypeFamilies, MultiParamTypeClasses, KindSignatures,+    FlexibleInstances, UndecidableInstances, DataKinds,+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}++module GI.Soup where++import Prelude ()+import Data.GI.Base.ShortPrelude+import Data.Char+import Data.Int+import Data.Word+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)+import qualified Data.Map as Map+import Foreign.C+import Foreign.Ptr+import Foreign.ForeignPtr+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)+import Foreign.Storable (peek, poke, sizeOf)+import Control.Applicative ((<$>))+import Control.Exception (onException)+import Control.Monad.IO.Class+import qualified Data.Text as T++import Data.GI.Base.Attributes hiding (get, set)+import Data.GI.Base.BasicTypes+import Data.GI.Base.BasicConversions+import Data.GI.Base.Closure+import Data.GI.Base.GError+import Data.GI.Base.GHashTable+import Data.GI.Base.GParamSpec+import Data.GI.Base.GVariant+import Data.GI.Base.GValue+import Data.GI.Base.ManagedPtr+import Data.GI.Base.Overloading+import Data.GI.Base.Properties hiding (new)+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)+import Data.GI.Base.Utils++import qualified GI.GLib as GLib+import qualified GI.GLibAttributes as GLibA+import qualified GI.GObject as GObject+import qualified GI.GObjectAttributes as GObjectA+import qualified GI.Gio as Gio+import qualified GI.GioAttributes as GioA++-- object Address +newtype Address = Address (ForeignPtr Address)+noAddress :: Maybe Address+noAddress = Nothing++foreign import ccall "soup_address_get_type"+    c_soup_address_get_type :: IO GType++type instance ParentTypes Address = '[GObject.Object, Gio.SocketConnectable]++instance GObject Address where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_address_get_type+    ++class GObject o => AddressK o+instance (GObject o, IsDescendantOf Address o) => AddressK o++toAddress :: AddressK o => o -> IO Address+toAddress = unsafeCastTo Address++-- method Address::new+-- method type : Constructor+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Address"+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_new" soup_address_new :: +    CString ->                              -- name : TBasicType TUTF8+    Word32 ->                               -- port : TBasicType TUInt32+    IO (Ptr Address)+++addressNew ::+    (MonadIO m) =>+    T.Text ->                               -- name+    Word32 ->                               -- port+    m Address+addressNew name port = liftIO $ do+    name' <- textToCString name+    result <- soup_address_new name' port+    result' <- (wrapObject Address) result+    freeMem name'+    return result'++-- method Address::new_any+-- method type : Constructor+-- Args : [Arg {argName = "family", argType = TInterface "Soup" "AddressFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "family", argType = TInterface "Soup" "AddressFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Address"+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_new_any" soup_address_new_any :: +    CUInt ->                                -- family : TInterface "Soup" "AddressFamily"+    Word32 ->                               -- port : TBasicType TUInt32+    IO (Ptr Address)+++addressNewAny ::+    (MonadIO m) =>+    AddressFamily ->                        -- family+    Word32 ->                               -- port+    m Address+addressNewAny family port = liftIO $ do+    let family' = (fromIntegral . fromEnum) family+    result <- soup_address_new_any family' port+    result' <- (wrapObject Address) result+    return result'++-- method Address::new_from_sockaddr+-- method type : Constructor+-- Args : [Arg {argName = "sa", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "sa", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Address"+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_new_from_sockaddr" soup_address_new_from_sockaddr :: +    Ptr () ->                               -- sa : TBasicType TVoid+    Int32 ->                                -- len : TBasicType TInt32+    IO (Ptr Address)+++addressNewFromSockaddr ::+    (MonadIO m) =>+    Ptr () ->                               -- sa+    Int32 ->                                -- len+    m Address+addressNewFromSockaddr sa len = liftIO $ do+    result <- soup_address_new_from_sockaddr sa len+    result' <- (wrapObject Address) result+    return result'++-- method Address::equal_by_ip+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_equal_by_ip" soup_address_equal_by_ip :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    Ptr Address ->                          -- addr2 : TInterface "Soup" "Address"+    IO CInt+++addressEqualByIp ::+    (MonadIO m, AddressK a, AddressK b) =>+    a ->                                    -- _obj+    b ->                                    -- addr2+    m Bool+addressEqualByIp _obj addr2 = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let addr2' = unsafeManagedPtrCastPtr addr2+    result <- soup_address_equal_by_ip _obj' addr2'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr addr2+    return result'++-- method Address::equal_by_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "addr2", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_equal_by_name" soup_address_equal_by_name :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    Ptr Address ->                          -- addr2 : TInterface "Soup" "Address"+    IO CInt+++addressEqualByName ::+    (MonadIO m, AddressK a, AddressK b) =>+    a ->                                    -- _obj+    b ->                                    -- addr2+    m Bool+addressEqualByName _obj addr2 = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let addr2' = unsafeManagedPtrCastPtr addr2+    result <- soup_address_equal_by_name _obj' addr2'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr addr2+    return result'++-- method Address::get_gsockaddr+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "SocketAddress"+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_get_gsockaddr" soup_address_get_gsockaddr :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    IO (Ptr Gio.SocketAddress)+++addressGetGsockaddr ::+    (MonadIO m, AddressK a) =>+    a ->                                    -- _obj+    m Gio.SocketAddress+addressGetGsockaddr _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_address_get_gsockaddr _obj'+    result' <- (wrapObject Gio.SocketAddress) result+    touchManagedPtr _obj+    return result'++-- method Address::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_get_name" soup_address_get_name :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    IO CString+++addressGetName ::+    (MonadIO m, AddressK a) =>+    a ->                                    -- _obj+    m T.Text+addressGetName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_address_get_name _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Address::get_physical+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_get_physical" soup_address_get_physical :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    IO CString+++addressGetPhysical ::+    (MonadIO m, AddressK a) =>+    a ->                                    -- _obj+    m T.Text+addressGetPhysical _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_address_get_physical _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Address::get_port+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_get_port" soup_address_get_port :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    IO Word32+++addressGetPort ::+    (MonadIO m, AddressK a) =>+    a ->                                    -- _obj+    m Word32+addressGetPort _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_address_get_port _obj'+    touchManagedPtr _obj+    return result++-- method Address::hash_by_ip+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_hash_by_ip" soup_address_hash_by_ip :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    IO Word32+++addressHashByIp ::+    (MonadIO m, AddressK a) =>+    a ->                                    -- _obj+    m Word32+addressHashByIp _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_address_hash_by_ip _obj'+    touchManagedPtr _obj+    return result++-- method Address::hash_by_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_hash_by_name" soup_address_hash_by_name :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    IO Word32+++addressHashByName ::+    (MonadIO m, AddressK a) =>+    a ->                                    -- _obj+    m Word32+addressHashByName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_address_hash_by_name _obj'+    touchManagedPtr _obj+    return result++-- method Address::is_resolved+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_is_resolved" soup_address_is_resolved :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    IO CInt+++addressIsResolved ::+    (MonadIO m, AddressK a) =>+    a ->                                    -- _obj+    m Bool+addressIsResolved _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_address_is_resolved _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Address::resolve_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_resolve_async" soup_address_resolve_async :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    Ptr GLib.MainContext ->                 -- async_context : TInterface "GLib" "MainContext"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr AddressCallbackC ->              -- callback : TInterface "Soup" "AddressCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++addressResolveAsync ::+    (MonadIO m, AddressK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Maybe (GLib.MainContext) ->             -- async_context+    Maybe (b) ->                            -- cancellable+    AddressCallback ->                      -- callback+    m ()+addressResolveAsync _obj async_context cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeAsync_context <- case async_context of+        Nothing -> return nullPtr+        Just jAsync_context -> do+            let jAsync_context' = unsafeManagedPtrGetPtr jAsync_context+            return jAsync_context'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr AddressCallbackC)+    callback' <- mkAddressCallback (addressCallbackWrapper (Just ptrcallback) callback)+    poke ptrcallback callback'+    let user_data = nullPtr+    soup_address_resolve_async _obj' maybeAsync_context maybeCancellable callback' user_data+    touchManagedPtr _obj+    whenJust async_context touchManagedPtr+    whenJust cancellable touchManagedPtr+    return ()++-- method Address::resolve_sync+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Address", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_address_resolve_sync" soup_address_resolve_sync :: +    Ptr Address ->                          -- _obj : TInterface "Soup" "Address"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    IO Word32+++addressResolveSync ::+    (MonadIO m, AddressK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- cancellable+    m Word32+addressResolveSync _obj cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    result <- soup_address_resolve_sync _obj' maybeCancellable+    touchManagedPtr _obj+    whenJust cancellable touchManagedPtr+    return result++-- callback AddressCallback+addressCallbackClosure :: AddressCallback -> IO Closure+addressCallbackClosure cb = newCClosure =<< mkAddressCallback wrapped+    where wrapped = addressCallbackWrapper Nothing cb++type AddressCallbackC =+    Ptr Address ->+    Word32 ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkAddressCallback :: AddressCallbackC -> IO (FunPtr AddressCallbackC)++type AddressCallback =+    Address ->+    Word32 ->+    IO ()++noAddressCallback :: Maybe AddressCallback+noAddressCallback = Nothing++addressCallbackWrapper ::+    Maybe (Ptr (FunPtr (AddressCallbackC))) ->+    AddressCallback ->+    Ptr Address ->+    Word32 ->+    Ptr () ->+    IO ()+addressCallbackWrapper funptrptr _cb addr status _ = do+    addr' <- (newObject Address) addr+    _cb  addr' status+    maybeReleaseFunPtr funptrptr++-- Enum AddressFamily++data AddressFamily = +      AddressFamilyInvalid+    | AddressFamilyIpv4+    | AddressFamilyIpv6+    | AnotherAddressFamily Int+    deriving (Show, Eq)++instance Enum AddressFamily where+    fromEnum AddressFamilyInvalid = -1+    fromEnum AddressFamilyIpv4 = 2+    fromEnum AddressFamilyIpv6 = 10+    fromEnum (AnotherAddressFamily k) = k++    toEnum -1 = AddressFamilyInvalid+    toEnum 2 = AddressFamilyIpv4+    toEnum 10 = AddressFamilyIpv6+    toEnum k = AnotherAddressFamily k++foreign import ccall "soup_address_family_get_type" c_soup_address_family_get_type :: +    IO GType++instance BoxedEnum AddressFamily where+    boxedEnumType _ = c_soup_address_family_get_type++-- object Auth +newtype Auth = Auth (ForeignPtr Auth)+noAuth :: Maybe Auth+noAuth = Nothing++foreign import ccall "soup_auth_get_type"+    c_soup_auth_get_type :: IO GType++type instance ParentTypes Auth = '[GObject.Object]++instance GObject Auth where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_auth_get_type+    ++class GObject o => AuthK o+instance (GObject o, IsDescendantOf Auth o) => AuthK o++toAuth :: AuthK o => o -> IO Auth+toAuth = unsafeCastTo Auth++-- method Auth::new+-- method type : Constructor+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Auth"+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_new" soup_auth_new :: +    CGType ->                               -- type : TBasicType TGType+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- auth_header : TBasicType TUTF8+    IO (Ptr Auth)+++authNew ::+    (MonadIO m, MessageK a) =>+    GType ->                                -- type+    a ->                                    -- msg+    T.Text ->                               -- auth_header+    m Auth+authNew type_ msg auth_header = liftIO $ do+    let type_' = gtypeToCGType type_+    let msg' = unsafeManagedPtrCastPtr msg+    auth_header' <- textToCString auth_header+    result <- soup_auth_new type_' msg' auth_header'+    result' <- (wrapObject Auth) result+    touchManagedPtr msg+    freeMem auth_header'+    return result'++-- method Auth::authenticate+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_authenticate" soup_auth_authenticate :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    CString ->                              -- username : TBasicType TUTF8+    CString ->                              -- password : TBasicType TUTF8+    IO ()+++authAuthenticate ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- username+    T.Text ->                               -- password+    m ()+authAuthenticate _obj username password = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    username' <- textToCString username+    password' <- textToCString password+    soup_auth_authenticate _obj' username' password'+    touchManagedPtr _obj+    freeMem username'+    freeMem password'+    return ()++-- method Auth::get_authorization+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_get_authorization" soup_auth_get_authorization :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO CString+++authGetAuthorization ::+    (MonadIO m, AuthK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m T.Text+authGetAuthorization _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_auth_get_authorization _obj' msg'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    touchManagedPtr msg+    return result'++-- method Auth::get_host+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_get_host" soup_auth_get_host :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    IO CString+++authGetHost ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    m T.Text+authGetHost _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_auth_get_host _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Auth::get_info+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_get_info" soup_auth_get_info :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    IO CString+++authGetInfo ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    m T.Text+authGetInfo _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_auth_get_info _obj'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- method Auth::get_protection_space+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_get_protection_space" soup_auth_get_protection_space :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    Ptr URI ->                              -- source_uri : TInterface "Soup" "URI"+    IO (Ptr (GSList CString))+++authGetProtectionSpace ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    URI ->                                  -- source_uri+    m [T.Text]+authGetProtectionSpace _obj source_uri = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let source_uri' = unsafeManagedPtrGetPtr source_uri+    result <- soup_auth_get_protection_space _obj' source_uri'+    result' <- unpackGSList result+    result'' <- mapM cstringToText result'+    mapGSList freeMem result+    g_slist_free result+    touchManagedPtr _obj+    touchManagedPtr source_uri+    return result''++-- method Auth::get_realm+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_get_realm" soup_auth_get_realm :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    IO CString+++authGetRealm ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    m T.Text+authGetRealm _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_auth_get_realm _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Auth::get_saved_password+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_get_saved_password" soup_auth_get_saved_password :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    CString ->                              -- user : TBasicType TUTF8+    IO CString+++authGetSavedPassword ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- user+    m T.Text+authGetSavedPassword _obj user = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    user' <- textToCString user+    result <- soup_auth_get_saved_password _obj' user'+    result' <- cstringToText result+    touchManagedPtr _obj+    freeMem user'+    return result'++-- method Auth::get_saved_users+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_get_saved_users" soup_auth_get_saved_users :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    IO (Ptr (GSList CString))+++authGetSavedUsers ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    m [T.Text]+authGetSavedUsers _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_auth_get_saved_users _obj'+    result' <- unpackGSList result+    result'' <- mapM cstringToText result'+    mapGSList freeMem result+    g_slist_free result+    touchManagedPtr _obj+    return result''++-- method Auth::get_scheme_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_get_scheme_name" soup_auth_get_scheme_name :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    IO CString+++authGetSchemeName ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    m T.Text+authGetSchemeName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_auth_get_scheme_name _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Auth::has_saved_password+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_has_saved_password" soup_auth_has_saved_password :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    CString ->                              -- username : TBasicType TUTF8+    CString ->                              -- password : TBasicType TUTF8+    IO ()+++authHasSavedPassword ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- username+    T.Text ->                               -- password+    m ()+authHasSavedPassword _obj username password = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    username' <- textToCString username+    password' <- textToCString password+    soup_auth_has_saved_password _obj' username' password'+    touchManagedPtr _obj+    freeMem username'+    freeMem password'+    return ()++-- method Auth::is_authenticated+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_is_authenticated" soup_auth_is_authenticated :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    IO CInt+++authIsAuthenticated ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    m Bool+authIsAuthenticated _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_auth_is_authenticated _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Auth::is_for_proxy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_is_for_proxy" soup_auth_is_for_proxy :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    IO CInt+++authIsForProxy ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    m Bool+authIsForProxy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_auth_is_for_proxy _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Auth::is_ready+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_is_ready" soup_auth_is_ready :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO CInt+++authIsReady ::+    (MonadIO m, AuthK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m Bool+authIsReady _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_auth_is_ready _obj' msg'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr msg+    return result'++-- method Auth::save_password+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_save_password" soup_auth_save_password :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    CString ->                              -- username : TBasicType TUTF8+    CString ->                              -- password : TBasicType TUTF8+    IO ()+++authSavePassword ::+    (MonadIO m, AuthK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- username+    T.Text ->                               -- password+    m ()+authSavePassword _obj username password = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    username' <- textToCString username+    password' <- textToCString password+    soup_auth_save_password _obj' username' password'+    touchManagedPtr _obj+    freeMem username'+    freeMem password'+    return ()++-- method Auth::update+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_update" soup_auth_update :: +    Ptr Auth ->                             -- _obj : TInterface "Soup" "Auth"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- auth_header : TBasicType TUTF8+    IO CInt+++authUpdate ::+    (MonadIO m, AuthK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    T.Text ->                               -- auth_header+    m Bool+authUpdate _obj msg auth_header = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    auth_header' <- textToCString auth_header+    result <- soup_auth_update _obj' msg' auth_header'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr msg+    freeMem auth_header'+    return result'++-- object AuthBasic +newtype AuthBasic = AuthBasic (ForeignPtr AuthBasic)+noAuthBasic :: Maybe AuthBasic+noAuthBasic = Nothing++foreign import ccall "soup_auth_basic_get_type"+    c_soup_auth_basic_get_type :: IO GType++type instance ParentTypes AuthBasic = '[Auth, GObject.Object]++instance GObject AuthBasic where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_auth_basic_get_type+    ++class GObject o => AuthBasicK o+instance (GObject o, IsDescendantOf AuthBasic o) => AuthBasicK o++toAuthBasic :: AuthBasicK o => o -> IO AuthBasic+toAuthBasic = unsafeCastTo AuthBasic++-- object AuthDigest +newtype AuthDigest = AuthDigest (ForeignPtr AuthDigest)+noAuthDigest :: Maybe AuthDigest+noAuthDigest = Nothing++foreign import ccall "soup_auth_digest_get_type"+    c_soup_auth_digest_get_type :: IO GType++type instance ParentTypes AuthDigest = '[Auth, GObject.Object]++instance GObject AuthDigest where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_auth_digest_get_type+    ++class GObject o => AuthDigestK o+instance (GObject o, IsDescendantOf AuthDigest o) => AuthDigestK o++toAuthDigest :: AuthDigestK o => o -> IO AuthDigest+toAuthDigest = unsafeCastTo AuthDigest++-- object AuthDomain +newtype AuthDomain = AuthDomain (ForeignPtr AuthDomain)+noAuthDomain :: Maybe AuthDomain+noAuthDomain = Nothing++foreign import ccall "soup_auth_domain_get_type"+    c_soup_auth_domain_get_type :: IO GType++type instance ParentTypes AuthDomain = '[GObject.Object]++instance GObject AuthDomain where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_auth_domain_get_type+    ++class GObject o => AuthDomainK o+instance (GObject o, IsDescendantOf AuthDomain o) => AuthDomainK o++toAuthDomain :: AuthDomainK o => o -> IO AuthDomain+toAuthDomain = unsafeCastTo AuthDomain++-- method AuthDomain::accepts+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_accepts" soup_auth_domain_accepts :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO CString+++authDomainAccepts ::+    (MonadIO m, AuthDomainK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m T.Text+authDomainAccepts _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_auth_domain_accepts _obj' msg'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    touchManagedPtr msg+    return result'++-- method AuthDomain::add_path+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_add_path" soup_auth_domain_add_path :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    CString ->                              -- path : TBasicType TUTF8+    IO ()+++authDomainAddPath ::+    (MonadIO m, AuthDomainK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- path+    m ()+authDomainAddPath _obj path = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    path' <- textToCString path+    soup_auth_domain_add_path _obj' path'+    touchManagedPtr _obj+    freeMem path'+    return ()++-- method AuthDomain::basic_set_auth_callback+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AuthDomainBasicAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AuthDomainBasicAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_basic_set_auth_callback" soup_auth_domain_basic_set_auth_callback :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    FunPtr AuthDomainBasicAuthCallbackC ->  -- callback : TInterface "Soup" "AuthDomainBasicAuthCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- dnotify : TInterface "GLib" "DestroyNotify"+    IO ()+++authDomainBasicSetAuthCallback ::+    (MonadIO m, AuthDomainK a) =>+    a ->                                    -- _obj+    AuthDomainBasicAuthCallback ->          -- callback+    m ()+authDomainBasicSetAuthCallback _obj callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    callback' <- mkAuthDomainBasicAuthCallback (authDomainBasicAuthCallbackWrapper Nothing callback)+    let user_data = castFunPtrToPtr callback'+    let dnotify = safeFreeFunPtrPtr+    soup_auth_domain_basic_set_auth_callback _obj' callback' user_data dnotify+    touchManagedPtr _obj+    return ()++-- method AuthDomain::challenge+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_challenge" soup_auth_domain_challenge :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO ()+++authDomainChallenge ::+    (MonadIO m, AuthDomainK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m ()+authDomainChallenge _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    soup_auth_domain_challenge _obj' msg'+    touchManagedPtr _obj+    touchManagedPtr msg+    return ()++-- method AuthDomain::check_password+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_check_password" soup_auth_domain_check_password :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- username : TBasicType TUTF8+    CString ->                              -- password : TBasicType TUTF8+    IO CInt+++authDomainCheckPassword ::+    (MonadIO m, AuthDomainK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    T.Text ->                               -- username+    T.Text ->                               -- password+    m Bool+authDomainCheckPassword _obj msg username password = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    username' <- textToCString username+    password' <- textToCString password+    result <- soup_auth_domain_check_password _obj' msg' username' password'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr msg+    freeMem username'+    freeMem password'+    return result'++-- method AuthDomain::covers+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_covers" soup_auth_domain_covers :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO CInt+++authDomainCovers ::+    (MonadIO m, AuthDomainK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m Bool+authDomainCovers _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_auth_domain_covers _obj' msg'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr msg+    return result'++-- method AuthDomain::digest_set_auth_callback+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AuthDomainDigestAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AuthDomainDigestAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_digest_set_auth_callback" soup_auth_domain_digest_set_auth_callback :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    FunPtr AuthDomainDigestAuthCallbackC -> -- callback : TInterface "Soup" "AuthDomainDigestAuthCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- dnotify : TInterface "GLib" "DestroyNotify"+    IO ()+++authDomainDigestSetAuthCallback ::+    (MonadIO m, AuthDomainK a) =>+    a ->                                    -- _obj+    AuthDomainDigestAuthCallback ->         -- callback+    m ()+authDomainDigestSetAuthCallback _obj callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    callback' <- mkAuthDomainDigestAuthCallback (authDomainDigestAuthCallbackWrapper Nothing callback)+    let user_data = castFunPtrToPtr callback'+    let dnotify = safeFreeFunPtrPtr+    soup_auth_domain_digest_set_auth_callback _obj' callback' user_data dnotify+    touchManagedPtr _obj+    return ()++-- method AuthDomain::get_realm+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_get_realm" soup_auth_domain_get_realm :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    IO CString+++authDomainGetRealm ::+    (MonadIO m, AuthDomainK a) =>+    a ->                                    -- _obj+    m T.Text+authDomainGetRealm _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_auth_domain_get_realm _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method AuthDomain::remove_path+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_remove_path" soup_auth_domain_remove_path :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    CString ->                              -- path : TBasicType TUTF8+    IO ()+++authDomainRemovePath ::+    (MonadIO m, AuthDomainK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- path+    m ()+authDomainRemovePath _obj path = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    path' <- textToCString path+    soup_auth_domain_remove_path _obj' path'+    touchManagedPtr _obj+    freeMem path'+    return ()++-- method AuthDomain::set_filter+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filter", argType = TInterface "Soup" "AuthDomainFilter", 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 = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filter", argType = TInterface "Soup" "AuthDomainFilter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_set_filter" soup_auth_domain_set_filter :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    FunPtr AuthDomainFilterC ->             -- filter : TInterface "Soup" "AuthDomainFilter"+    Ptr () ->                               -- filter_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- dnotify : TInterface "GLib" "DestroyNotify"+    IO ()+++authDomainSetFilter ::+    (MonadIO m, AuthDomainK a) =>+    a ->                                    -- _obj+    AuthDomainFilter ->                     -- filter+    m ()+authDomainSetFilter _obj filter = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    filter' <- mkAuthDomainFilter (authDomainFilterWrapper Nothing filter)+    let filter_data = castFunPtrToPtr filter'+    let dnotify = safeFreeFunPtrPtr+    soup_auth_domain_set_filter _obj' filter' filter_data dnotify+    touchManagedPtr _obj+    return ()++-- method AuthDomain::set_generic_auth_callback+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_callback", argType = TInterface "Soup" "AuthDomainGenericAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "auth_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_callback", argType = TInterface "Soup" "AuthDomainGenericAuthCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_set_generic_auth_callback" soup_auth_domain_set_generic_auth_callback :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    FunPtr AuthDomainGenericAuthCallbackC -> -- auth_callback : TInterface "Soup" "AuthDomainGenericAuthCallback"+    Ptr () ->                               -- auth_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- dnotify : TInterface "GLib" "DestroyNotify"+    IO ()+++authDomainSetGenericAuthCallback ::+    (MonadIO m, AuthDomainK a) =>+    a ->                                    -- _obj+    AuthDomainGenericAuthCallback ->        -- auth_callback+    m ()+authDomainSetGenericAuthCallback _obj auth_callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    auth_callback' <- mkAuthDomainGenericAuthCallback (authDomainGenericAuthCallbackWrapper Nothing auth_callback)+    let auth_data = castFunPtrToPtr auth_callback'+    let dnotify = safeFreeFunPtrPtr+    soup_auth_domain_set_generic_auth_callback _obj' auth_callback' auth_data dnotify+    touchManagedPtr _obj+    return ()++-- method AuthDomain::try_generic_auth_callback+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_try_generic_auth_callback" soup_auth_domain_try_generic_auth_callback :: +    Ptr AuthDomain ->                       -- _obj : TInterface "Soup" "AuthDomain"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- username : TBasicType TUTF8+    IO CInt+++authDomainTryGenericAuthCallback ::+    (MonadIO m, AuthDomainK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    T.Text ->                               -- username+    m Bool+authDomainTryGenericAuthCallback _obj msg username = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    username' <- textToCString username+    result <- soup_auth_domain_try_generic_auth_callback _obj' msg' username'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr msg+    freeMem username'+    return result'++-- object AuthDomainBasic +newtype AuthDomainBasic = AuthDomainBasic (ForeignPtr AuthDomainBasic)+noAuthDomainBasic :: Maybe AuthDomainBasic+noAuthDomainBasic = Nothing++foreign import ccall "soup_auth_domain_basic_get_type"+    c_soup_auth_domain_basic_get_type :: IO GType++type instance ParentTypes AuthDomainBasic = '[AuthDomain, GObject.Object]++instance GObject AuthDomainBasic where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_auth_domain_basic_get_type+    ++class GObject o => AuthDomainBasicK o+instance (GObject o, IsDescendantOf AuthDomainBasic o) => AuthDomainBasicK o++toAuthDomainBasic :: AuthDomainBasicK o => o -> IO AuthDomainBasic+toAuthDomainBasic = unsafeCastTo AuthDomainBasic++-- callback AuthDomainBasicAuthCallback+authDomainBasicAuthCallbackClosure :: AuthDomainBasicAuthCallback -> IO Closure+authDomainBasicAuthCallbackClosure cb = newCClosure =<< mkAuthDomainBasicAuthCallback wrapped+    where wrapped = authDomainBasicAuthCallbackWrapper Nothing cb++type AuthDomainBasicAuthCallbackC =+    Ptr AuthDomain ->+    Ptr Message ->+    CString ->+    CString ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkAuthDomainBasicAuthCallback :: AuthDomainBasicAuthCallbackC -> IO (FunPtr AuthDomainBasicAuthCallbackC)++type AuthDomainBasicAuthCallback =+    AuthDomain ->+    Message ->+    T.Text ->+    T.Text ->+    IO Bool++noAuthDomainBasicAuthCallback :: Maybe AuthDomainBasicAuthCallback+noAuthDomainBasicAuthCallback = Nothing++authDomainBasicAuthCallbackWrapper ::+    Maybe (Ptr (FunPtr (AuthDomainBasicAuthCallbackC))) ->+    AuthDomainBasicAuthCallback ->+    Ptr AuthDomain ->+    Ptr Message ->+    CString ->+    CString ->+    Ptr () ->+    IO CInt+authDomainBasicAuthCallbackWrapper funptrptr _cb domain msg username password _ = do+    domain' <- (newObject AuthDomain) domain+    msg' <- (newObject Message) msg+    username' <- cstringToText username+    password' <- cstringToText password+    result <- _cb  domain' msg' username' password'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- object AuthDomainDigest +newtype AuthDomainDigest = AuthDomainDigest (ForeignPtr AuthDomainDigest)+noAuthDomainDigest :: Maybe AuthDomainDigest+noAuthDomainDigest = Nothing++foreign import ccall "soup_auth_domain_digest_get_type"+    c_soup_auth_domain_digest_get_type :: IO GType++type instance ParentTypes AuthDomainDigest = '[AuthDomain, GObject.Object]++instance GObject AuthDomainDigest where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_auth_domain_digest_get_type+    ++class GObject o => AuthDomainDigestK o+instance (GObject o, IsDescendantOf AuthDomainDigest o) => AuthDomainDigestK o++toAuthDomainDigest :: AuthDomainDigestK o => o -> IO AuthDomainDigest+toAuthDomainDigest = unsafeCastTo AuthDomainDigest++-- method AuthDomainDigest::encode_password+-- method type : MemberFunction+-- Args : [Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "realm", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "username", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "realm", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_domain_digest_encode_password" soup_auth_domain_digest_encode_password :: +    CString ->                              -- username : TBasicType TUTF8+    CString ->                              -- realm : TBasicType TUTF8+    CString ->                              -- password : TBasicType TUTF8+    IO CString+++authDomainDigestEncodePassword ::+    (MonadIO m) =>+    T.Text ->                               -- username+    T.Text ->                               -- realm+    T.Text ->                               -- password+    m T.Text+authDomainDigestEncodePassword username realm password = liftIO $ do+    username' <- textToCString username+    realm' <- textToCString realm+    password' <- textToCString password+    result <- soup_auth_domain_digest_encode_password username' realm' password'+    result' <- cstringToText result+    freeMem result+    freeMem username'+    freeMem realm'+    freeMem password'+    return result'++-- callback AuthDomainDigestAuthCallback+authDomainDigestAuthCallbackClosure :: AuthDomainDigestAuthCallback -> IO Closure+authDomainDigestAuthCallbackClosure cb = newCClosure =<< mkAuthDomainDigestAuthCallback wrapped+    where wrapped = authDomainDigestAuthCallbackWrapper Nothing cb++type AuthDomainDigestAuthCallbackC =+    Ptr AuthDomain ->+    Ptr Message ->+    CString ->+    Ptr () ->+    IO CString++foreign import ccall "wrapper"+    mkAuthDomainDigestAuthCallback :: AuthDomainDigestAuthCallbackC -> IO (FunPtr AuthDomainDigestAuthCallbackC)++type AuthDomainDigestAuthCallback =+    AuthDomain ->+    Message ->+    T.Text ->+    IO T.Text++noAuthDomainDigestAuthCallback :: Maybe AuthDomainDigestAuthCallback+noAuthDomainDigestAuthCallback = Nothing++authDomainDigestAuthCallbackWrapper ::+    Maybe (Ptr (FunPtr (AuthDomainDigestAuthCallbackC))) ->+    AuthDomainDigestAuthCallback ->+    Ptr AuthDomain ->+    Ptr Message ->+    CString ->+    Ptr () ->+    IO CString+authDomainDigestAuthCallbackWrapper funptrptr _cb domain msg username _ = do+    domain' <- (newObject AuthDomain) domain+    msg' <- (newObject Message) msg+    username' <- cstringToText username+    result <- _cb  domain' msg' username'+    maybeReleaseFunPtr funptrptr+    result' <- textToCString result+    return result'++-- callback AuthDomainFilter+authDomainFilterClosure :: AuthDomainFilter -> IO Closure+authDomainFilterClosure cb = newCClosure =<< mkAuthDomainFilter wrapped+    where wrapped = authDomainFilterWrapper Nothing cb++type AuthDomainFilterC =+    Ptr AuthDomain ->+    Ptr Message ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkAuthDomainFilter :: AuthDomainFilterC -> IO (FunPtr AuthDomainFilterC)++type AuthDomainFilter =+    AuthDomain ->+    Message ->+    IO Bool++noAuthDomainFilter :: Maybe AuthDomainFilter+noAuthDomainFilter = Nothing++authDomainFilterWrapper ::+    Maybe (Ptr (FunPtr (AuthDomainFilterC))) ->+    AuthDomainFilter ->+    Ptr AuthDomain ->+    Ptr Message ->+    Ptr () ->+    IO CInt+authDomainFilterWrapper funptrptr _cb domain msg _ = do+    domain' <- (newObject AuthDomain) domain+    msg' <- (newObject Message) msg+    result <- _cb  domain' msg'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- callback AuthDomainGenericAuthCallback+authDomainGenericAuthCallbackClosure :: AuthDomainGenericAuthCallback -> IO Closure+authDomainGenericAuthCallbackClosure cb = newCClosure =<< mkAuthDomainGenericAuthCallback wrapped+    where wrapped = authDomainGenericAuthCallbackWrapper Nothing cb++type AuthDomainGenericAuthCallbackC =+    Ptr AuthDomain ->+    Ptr Message ->+    CString ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkAuthDomainGenericAuthCallback :: AuthDomainGenericAuthCallbackC -> IO (FunPtr AuthDomainGenericAuthCallbackC)++type AuthDomainGenericAuthCallback =+    AuthDomain ->+    Message ->+    T.Text ->+    IO Bool++noAuthDomainGenericAuthCallback :: Maybe AuthDomainGenericAuthCallback+noAuthDomainGenericAuthCallback = Nothing++authDomainGenericAuthCallbackWrapper ::+    Maybe (Ptr (FunPtr (AuthDomainGenericAuthCallbackC))) ->+    AuthDomainGenericAuthCallback ->+    Ptr AuthDomain ->+    Ptr Message ->+    CString ->+    Ptr () ->+    IO CInt+authDomainGenericAuthCallbackWrapper funptrptr _cb domain msg username _ = do+    domain' <- (newObject AuthDomain) domain+    msg' <- (newObject Message) msg+    username' <- cstringToText username+    result <- _cb  domain' msg' username'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- object AuthManager +newtype AuthManager = AuthManager (ForeignPtr AuthManager)+noAuthManager :: Maybe AuthManager+noAuthManager = Nothing++foreign import ccall "soup_auth_manager_get_type"+    c_soup_auth_manager_get_type :: IO GType++type instance ParentTypes AuthManager = '[GObject.Object, SessionFeature]++instance GObject AuthManager where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_auth_manager_get_type+    ++class GObject o => AuthManagerK o+instance (GObject o, IsDescendantOf AuthManager o) => AuthManagerK o++toAuthManager :: AuthManagerK o => o -> IO AuthManager+toAuthManager = unsafeCastTo AuthManager++-- method AuthManager::use_auth+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "AuthManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_auth_manager_use_auth" soup_auth_manager_use_auth :: +    Ptr AuthManager ->                      -- _obj : TInterface "Soup" "AuthManager"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    Ptr Auth ->                             -- auth : TInterface "Soup" "Auth"+    IO ()+++authManagerUseAuth ::+    (MonadIO m, AuthManagerK a, AuthK b) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    b ->                                    -- auth+    m ()+authManagerUseAuth _obj uri auth = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    let auth' = unsafeManagedPtrCastPtr auth+    soup_auth_manager_use_auth _obj' uri' auth'+    touchManagedPtr _obj+    touchManagedPtr uri+    touchManagedPtr auth+    return ()++-- signal AuthManager::authenticate+type AuthManagerAuthenticateCallback =+    Message ->+    Auth ->+    Bool ->+    IO ()++noAuthManagerAuthenticateCallback :: Maybe AuthManagerAuthenticateCallback+noAuthManagerAuthenticateCallback = Nothing++type AuthManagerAuthenticateCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr Auth ->+    CInt ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkAuthManagerAuthenticateCallback :: AuthManagerAuthenticateCallbackC -> IO (FunPtr AuthManagerAuthenticateCallbackC)++authManagerAuthenticateClosure :: AuthManagerAuthenticateCallback -> IO Closure+authManagerAuthenticateClosure cb = newCClosure =<< mkAuthManagerAuthenticateCallback wrapped+    where wrapped = authManagerAuthenticateCallbackWrapper cb++authManagerAuthenticateCallbackWrapper ::+    AuthManagerAuthenticateCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr Auth ->+    CInt ->+    Ptr () ->+    IO ()+authManagerAuthenticateCallbackWrapper _cb _ msg auth retrying _ = do+    msg' <- (newObject Message) msg+    auth' <- (newObject 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+    cb' <- mkAuthManagerAuthenticateCallback (authManagerAuthenticateCallbackWrapper cb)+    connectSignalFunPtr obj "authenticate" cb' after++-- object AuthNTLM +newtype AuthNTLM = AuthNTLM (ForeignPtr AuthNTLM)+noAuthNTLM :: Maybe AuthNTLM+noAuthNTLM = Nothing++foreign import ccall "soup_auth_ntlm_get_type"+    c_soup_auth_ntlm_get_type :: IO GType++type instance ParentTypes AuthNTLM = '[Auth, GObject.Object]++instance GObject AuthNTLM where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_auth_ntlm_get_type+    ++class GObject o => AuthNTLMK o+instance (GObject o, IsDescendantOf AuthNTLM o) => AuthNTLMK o++toAuthNTLM :: AuthNTLMK o => o -> IO AuthNTLM+toAuthNTLM = unsafeCastTo AuthNTLM++-- struct Buffer+newtype Buffer = Buffer (ForeignPtr Buffer)+noBuffer :: Maybe Buffer+noBuffer = Nothing++foreign import ccall "soup_buffer_get_type" c_soup_buffer_get_type :: +    IO GType++instance BoxedObject Buffer where+    boxedType _ = c_soup_buffer_get_type++bufferReadData :: Buffer -> IO (Ptr ())+bufferReadData s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())+    return val++bufferReadLength :: Buffer -> IO Word64+bufferReadLength s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Word64+    return val++-- method Buffer::new+-- method type : Constructor+-- Args : [Arg {argName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TInterface "Soup" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "soup_buffer_new_take" soup_buffer_new_take :: +    Ptr Word8 ->                            -- data : TCArray False (-1) 1 (TBasicType TUInt8)+    Word64 ->                               -- length : TBasicType TUInt64+    IO (Ptr Buffer)+++bufferNew ::+    (MonadIO m) =>+    ByteString ->                           -- data+    m Buffer+bufferNew data_ = liftIO $ do+    let length_ = fromIntegral $ B.length data_+    data_' <- packByteString data_+    result <- soup_buffer_new_take data_' length_+    result' <- (wrapBoxed Buffer) result+    return result'++-- method Buffer::new_with_owner+-- method type : Constructor+-- Args : [Arg {argName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_dnotify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "soup_buffer_new_with_owner" soup_buffer_new_with_owner :: +    Ptr Word8 ->                            -- data : TCArray False (-1) 1 (TBasicType TUInt8)+    Word64 ->                               -- length : TBasicType TUInt64+    Ptr () ->                               -- owner : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- owner_dnotify : TInterface "GLib" "DestroyNotify"+    IO (Ptr Buffer)+++bufferNewWithOwner ::+    (MonadIO m) =>+    ByteString ->                           -- data+    Ptr () ->                               -- owner+    Maybe (GLib.DestroyNotify) ->           -- owner_dnotify+    m Buffer+bufferNewWithOwner data_ owner owner_dnotify = liftIO $ do+    let length_ = fromIntegral $ B.length data_+    data_' <- packByteString data_+    ptrowner_dnotify <- callocBytes $ sizeOf (undefined :: FunPtr GLib.DestroyNotifyC)+    maybeOwner_dnotify <- case owner_dnotify of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jOwner_dnotify -> do+            jOwner_dnotify' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrowner_dnotify) jOwner_dnotify)+            poke ptrowner_dnotify jOwner_dnotify'+            return jOwner_dnotify'+    result <- soup_buffer_new_with_owner data_' length_ owner maybeOwner_dnotify+    result' <- (wrapBoxed Buffer) result+    freeMem data_'+    return result'++-- method Buffer::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "soup_buffer_copy" soup_buffer_copy :: +    Ptr Buffer ->                           -- _obj : TInterface "Soup" "Buffer"+    IO (Ptr Buffer)+++bufferCopy ::+    (MonadIO m) =>+    Buffer ->                               -- _obj+    m Buffer+bufferCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_buffer_copy _obj'+    result' <- (wrapBoxed Buffer) result+    touchManagedPtr _obj+    return result'++-- method Buffer::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_buffer_free" soup_buffer_free :: +    Ptr Buffer ->                           -- _obj : TInterface "Soup" "Buffer"+    IO ()+++bufferFree ::+    (MonadIO m) =>+    Buffer ->                               -- _obj+    m ()+bufferFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_buffer_free _obj'+    touchManagedPtr _obj+    return ()++-- method Buffer::get_as_bytes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GLib" "Bytes"+-- throws : False+-- Skip return : False++foreign import ccall "soup_buffer_get_as_bytes" soup_buffer_get_as_bytes :: +    Ptr Buffer ->                           -- _obj : TInterface "Soup" "Buffer"+    IO (Ptr GLib.Bytes)+++bufferGetAsBytes ::+    (MonadIO m) =>+    Buffer ->                               -- _obj+    m GLib.Bytes+bufferGetAsBytes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_buffer_get_as_bytes _obj'+    result' <- (wrapBoxed GLib.Bytes) result+    touchManagedPtr _obj+    return result'++-- method Buffer::get_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_buffer_get_data" soup_buffer_get_data :: +    Ptr Buffer ->                           -- _obj : TInterface "Soup" "Buffer"+    Ptr (Ptr Word8) ->                      -- data : TCArray False (-1) 2 (TBasicType TUInt8)+    Ptr Word64 ->                           -- length : TBasicType TUInt64+    IO ()+++bufferGetData ::+    (MonadIO m) =>+    Buffer ->                               -- _obj+    m (ByteString)+bufferGetData _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    data_ <- allocMem :: IO (Ptr (Ptr Word8))+    length_ <- allocMem :: IO (Ptr Word64)+    soup_buffer_get_data _obj' data_ length_+    length_' <- peek length_+    data_' <- peek data_+    data_'' <- (unpackByteStringWithLength length_') data_'+    touchManagedPtr _obj+    freeMem data_+    freeMem length_+    return data_''++-- method Buffer::get_owner+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_buffer_get_owner" soup_buffer_get_owner :: +    Ptr Buffer ->                           -- _obj : TInterface "Soup" "Buffer"+    IO ()+++bufferGetOwner ::+    (MonadIO m) =>+    Buffer ->                               -- _obj+    m ()+bufferGetOwner _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_buffer_get_owner _obj'+    touchManagedPtr _obj+    return ()++-- method Buffer::new_subbuffer+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "soup_buffer_new_subbuffer" soup_buffer_new_subbuffer :: +    Ptr Buffer ->                           -- _obj : TInterface "Soup" "Buffer"+    Word64 ->                               -- offset : TBasicType TUInt64+    Word64 ->                               -- length : TBasicType TUInt64+    IO (Ptr Buffer)+++bufferNewSubbuffer ::+    (MonadIO m) =>+    Buffer ->                               -- _obj+    Word64 ->                               -- offset+    Word64 ->                               -- length+    m Buffer+bufferNewSubbuffer _obj offset length_ = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_buffer_new_subbuffer _obj' offset length_+    result' <- (wrapBoxed Buffer) result+    touchManagedPtr _obj+    return result'++-- object Cache +newtype Cache = Cache (ForeignPtr Cache)+noCache :: Maybe Cache+noCache = Nothing++foreign import ccall "soup_cache_get_type"+    c_soup_cache_get_type :: IO GType++type instance ParentTypes Cache = '[GObject.Object, SessionFeature]++instance GObject Cache where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_cache_get_type+    ++class GObject o => CacheK o+instance (GObject o, IsDescendantOf Cache o) => CacheK o++toCache :: CacheK o => o -> IO Cache+toCache = unsafeCastTo Cache++-- method Cache::new+-- method type : Constructor+-- Args : [Arg {argName = "cache_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cache_type", argType = TInterface "Soup" "CacheType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cache_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cache_type", argType = TInterface "Soup" "CacheType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Cache"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cache_new" soup_cache_new :: +    CString ->                              -- cache_dir : TBasicType TUTF8+    CUInt ->                                -- cache_type : TInterface "Soup" "CacheType"+    IO (Ptr Cache)+++cacheNew ::+    (MonadIO m) =>+    T.Text ->                               -- cache_dir+    CacheType ->                            -- cache_type+    m Cache+cacheNew cache_dir cache_type = liftIO $ do+    cache_dir' <- textToCString cache_dir+    let cache_type' = (fromIntegral . fromEnum) cache_type+    result <- soup_cache_new cache_dir' cache_type'+    result' <- (wrapObject Cache) result+    freeMem cache_dir'+    return result'++-- method Cache::clear+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cache_clear" soup_cache_clear :: +    Ptr Cache ->                            -- _obj : TInterface "Soup" "Cache"+    IO ()+++cacheClear ::+    (MonadIO m, CacheK a) =>+    a ->                                    -- _obj+    m ()+cacheClear _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_cache_clear _obj'+    touchManagedPtr _obj+    return ()++-- method Cache::dump+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cache_dump" soup_cache_dump :: +    Ptr Cache ->                            -- _obj : TInterface "Soup" "Cache"+    IO ()+++cacheDump ::+    (MonadIO m, CacheK a) =>+    a ->                                    -- _obj+    m ()+cacheDump _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_cache_dump _obj'+    touchManagedPtr _obj+    return ()++-- method Cache::flush+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cache_flush" soup_cache_flush :: +    Ptr Cache ->                            -- _obj : TInterface "Soup" "Cache"+    IO ()+++cacheFlush ::+    (MonadIO m, CacheK a) =>+    a ->                                    -- _obj+    m ()+cacheFlush _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_cache_flush _obj'+    touchManagedPtr _obj+    return ()++-- method Cache::get_max_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_cache_get_max_size" soup_cache_get_max_size :: +    Ptr Cache ->                            -- _obj : TInterface "Soup" "Cache"+    IO Word32+++cacheGetMaxSize ::+    (MonadIO m, CacheK a) =>+    a ->                                    -- _obj+    m Word32+cacheGetMaxSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_cache_get_max_size _obj'+    touchManagedPtr _obj+    return result++-- method Cache::load+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cache_load" soup_cache_load :: +    Ptr Cache ->                            -- _obj : TInterface "Soup" "Cache"+    IO ()+++cacheLoad ::+    (MonadIO m, CacheK a) =>+    a ->                                    -- _obj+    m ()+cacheLoad _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_cache_load _obj'+    touchManagedPtr _obj+    return ()++-- method Cache::set_max_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_size", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cache", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_size", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cache_set_max_size" soup_cache_set_max_size :: +    Ptr Cache ->                            -- _obj : TInterface "Soup" "Cache"+    Word32 ->                               -- max_size : TBasicType TUInt32+    IO ()+++cacheSetMaxSize ::+    (MonadIO m, CacheK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- max_size+    m ()+cacheSetMaxSize _obj max_size = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_cache_set_max_size _obj' max_size+    touchManagedPtr _obj+    return ()++-- Enum CacheResponse++data CacheResponse = +      CacheResponseFresh+    | CacheResponseNeedsValidation+    | CacheResponseStale+    | AnotherCacheResponse Int+    deriving (Show, Eq)++instance Enum CacheResponse where+    fromEnum CacheResponseFresh = 0+    fromEnum CacheResponseNeedsValidation = 1+    fromEnum CacheResponseStale = 2+    fromEnum (AnotherCacheResponse k) = k++    toEnum 0 = CacheResponseFresh+    toEnum 1 = CacheResponseNeedsValidation+    toEnum 2 = CacheResponseStale+    toEnum k = AnotherCacheResponse k++foreign import ccall "soup_cache_response_get_type" c_soup_cache_response_get_type :: +    IO GType++instance BoxedEnum CacheResponse where+    boxedEnumType _ = c_soup_cache_response_get_type++-- Enum CacheType++data CacheType = +      CacheTypeSingleUser+    | CacheTypeShared+    | AnotherCacheType Int+    deriving (Show, Eq)++instance Enum CacheType where+    fromEnum CacheTypeSingleUser = 0+    fromEnum CacheTypeShared = 1+    fromEnum (AnotherCacheType k) = k++    toEnum 0 = CacheTypeSingleUser+    toEnum 1 = CacheTypeShared+    toEnum k = AnotherCacheType k++foreign import ccall "soup_cache_type_get_type" c_soup_cache_type_get_type :: +    IO GType++instance BoxedEnum CacheType where+    boxedEnumType _ = c_soup_cache_type_get_type++-- Flags Cacheability++data Cacheability = +      CacheabilityCacheable+    | CacheabilityUncacheable+    | CacheabilityInvalidates+    | CacheabilityValidates+    | AnotherCacheability Int+    deriving (Show, Eq)++instance Enum Cacheability where+    fromEnum CacheabilityCacheable = 1+    fromEnum CacheabilityUncacheable = 2+    fromEnum CacheabilityInvalidates = 4+    fromEnum CacheabilityValidates = 8+    fromEnum (AnotherCacheability k) = k++    toEnum 1 = CacheabilityCacheable+    toEnum 2 = CacheabilityUncacheable+    toEnum 4 = CacheabilityInvalidates+    toEnum 8 = CacheabilityValidates+    toEnum k = AnotherCacheability k++foreign import ccall "soup_cacheability_get_type" c_soup_cacheability_get_type :: +    IO GType++instance BoxedEnum Cacheability where+    boxedEnumType _ = c_soup_cacheability_get_type++instance IsGFlag Cacheability++-- callback ChunkAllocator+chunkAllocatorClosure :: ChunkAllocator -> IO Closure+chunkAllocatorClosure cb = newCClosure =<< mkChunkAllocator wrapped+    where wrapped = chunkAllocatorWrapper Nothing cb++type ChunkAllocatorC =+    Ptr Message ->+    Word64 ->+    Ptr () ->+    IO (Ptr Buffer)++foreign import ccall "wrapper"+    mkChunkAllocator :: ChunkAllocatorC -> IO (FunPtr ChunkAllocatorC)++type ChunkAllocator =+    Message ->+    Word64 ->+    IO Buffer++noChunkAllocator :: Maybe ChunkAllocator+noChunkAllocator = Nothing++chunkAllocatorWrapper ::+    Maybe (Ptr (FunPtr (ChunkAllocatorC))) ->+    ChunkAllocator ->+    Ptr Message ->+    Word64 ->+    Ptr () ->+    IO (Ptr Buffer)+chunkAllocatorWrapper funptrptr _cb msg max_len _ = do+    msg' <- (newObject Message) msg+    result <- _cb  msg' max_len+    maybeReleaseFunPtr funptrptr+    result' <- copyBoxed result+    return result'++-- struct ClientContext+newtype ClientContext = ClientContext (ForeignPtr ClientContext)+noClientContext :: Maybe ClientContext+noClientContext = Nothing++foreign import ccall "soup_client_context_get_type" c_soup_client_context_get_type :: +    IO GType++instance BoxedObject ClientContext where+    boxedType _ = c_soup_client_context_get_type++-- method ClientContext::get_address+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Address"+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_get_address" soup_client_context_get_address :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO (Ptr Address)++{-# DEPRECATED clientContextGetAddress ["Use soup_client_context_get_remote_address(), which returns","a #GSocketAddress."]#-}+clientContextGetAddress ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m Address+clientContextGetAddress _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_get_address _obj'+    result' <- (newObject Address) result+    touchManagedPtr _obj+    return result'++-- method ClientContext::get_auth_domain+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "AuthDomain"+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_get_auth_domain" soup_client_context_get_auth_domain :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO (Ptr AuthDomain)+++clientContextGetAuthDomain ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m AuthDomain+clientContextGetAuthDomain _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_get_auth_domain _obj'+    result' <- (newObject AuthDomain) result+    touchManagedPtr _obj+    return result'++-- method ClientContext::get_auth_user+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_get_auth_user" soup_client_context_get_auth_user :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO CString+++clientContextGetAuthUser ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m T.Text+clientContextGetAuthUser _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_get_auth_user _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method ClientContext::get_gsocket+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "Socket"+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_get_gsocket" soup_client_context_get_gsocket :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO (Ptr Gio.Socket)+++clientContextGetGsocket ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m Gio.Socket+clientContextGetGsocket _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_get_gsocket _obj'+    result' <- (newObject Gio.Socket) result+    touchManagedPtr _obj+    return result'++-- method ClientContext::get_host+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_get_host" soup_client_context_get_host :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO CString+++clientContextGetHost ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m T.Text+clientContextGetHost _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_get_host _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method ClientContext::get_local_address+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "SocketAddress"+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_get_local_address" soup_client_context_get_local_address :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO (Ptr Gio.SocketAddress)+++clientContextGetLocalAddress ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m Gio.SocketAddress+clientContextGetLocalAddress _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_get_local_address _obj'+    result' <- (newObject Gio.SocketAddress) result+    touchManagedPtr _obj+    return result'++-- method ClientContext::get_remote_address+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "SocketAddress"+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_get_remote_address" soup_client_context_get_remote_address :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO (Ptr Gio.SocketAddress)+++clientContextGetRemoteAddress ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m Gio.SocketAddress+clientContextGetRemoteAddress _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_get_remote_address _obj'+    result' <- (newObject Gio.SocketAddress) result+    touchManagedPtr _obj+    return result'++-- method ClientContext::get_socket+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Socket"+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_get_socket" soup_client_context_get_socket :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO (Ptr Socket)++{-# DEPRECATED clientContextGetSocket ["use soup_client_context_get_gsocket(), which returns","a #GSocket."]#-}+clientContextGetSocket ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m Socket+clientContextGetSocket _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_get_socket _obj'+    result' <- (newObject Socket) result+    touchManagedPtr _obj+    return result'++-- method ClientContext::steal_connection+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ClientContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "IOStream"+-- throws : False+-- Skip return : False++foreign import ccall "soup_client_context_steal_connection" soup_client_context_steal_connection :: +    Ptr ClientContext ->                    -- _obj : TInterface "Soup" "ClientContext"+    IO (Ptr Gio.IOStream)+++clientContextStealConnection ::+    (MonadIO m) =>+    ClientContext ->                        -- _obj+    m Gio.IOStream+clientContextStealConnection _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_client_context_steal_connection _obj'+    result' <- (wrapObject Gio.IOStream) result+    touchManagedPtr _obj+    return result'++-- struct Connection+newtype Connection = Connection (ForeignPtr Connection)+noConnection :: Maybe Connection+noConnection = Nothing++-- Enum ConnectionState++data ConnectionState = +      ConnectionStateNew+    | ConnectionStateConnecting+    | ConnectionStateIdle+    | ConnectionStateInUse+    | ConnectionStateRemoteDisconnected+    | ConnectionStateDisconnected+    | AnotherConnectionState Int+    deriving (Show, Eq)++instance Enum ConnectionState where+    fromEnum ConnectionStateNew = 0+    fromEnum ConnectionStateConnecting = 1+    fromEnum ConnectionStateIdle = 2+    fromEnum ConnectionStateInUse = 3+    fromEnum ConnectionStateRemoteDisconnected = 4+    fromEnum ConnectionStateDisconnected = 5+    fromEnum (AnotherConnectionState k) = k++    toEnum 0 = ConnectionStateNew+    toEnum 1 = ConnectionStateConnecting+    toEnum 2 = ConnectionStateIdle+    toEnum 3 = ConnectionStateInUse+    toEnum 4 = ConnectionStateRemoteDisconnected+    toEnum 5 = ConnectionStateDisconnected+    toEnum k = AnotherConnectionState k++foreign import ccall "soup_connection_state_get_type" c_soup_connection_state_get_type :: +    IO GType++instance BoxedEnum ConnectionState where+    boxedEnumType _ = c_soup_connection_state_get_type++-- object ContentDecoder +newtype ContentDecoder = ContentDecoder (ForeignPtr ContentDecoder)+noContentDecoder :: Maybe ContentDecoder+noContentDecoder = Nothing++foreign import ccall "soup_content_decoder_get_type"+    c_soup_content_decoder_get_type :: IO GType++type instance ParentTypes ContentDecoder = '[GObject.Object, SessionFeature]++instance GObject ContentDecoder where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_content_decoder_get_type+    ++class GObject o => ContentDecoderK o+instance (GObject o, IsDescendantOf ContentDecoder o) => ContentDecoderK o++toContentDecoder :: ContentDecoderK o => o -> IO ContentDecoder+toContentDecoder = unsafeCastTo ContentDecoder++-- object ContentSniffer +newtype ContentSniffer = ContentSniffer (ForeignPtr ContentSniffer)+noContentSniffer :: Maybe ContentSniffer+noContentSniffer = Nothing++foreign import ccall "soup_content_sniffer_get_type"+    c_soup_content_sniffer_get_type :: IO GType++type instance ParentTypes ContentSniffer = '[GObject.Object, SessionFeature]++instance GObject ContentSniffer where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_content_sniffer_get_type+    ++class GObject o => ContentSnifferK o+instance (GObject o, IsDescendantOf ContentSniffer o) => ContentSnifferK o++toContentSniffer :: ContentSnifferK o => o -> IO ContentSniffer+toContentSniffer = unsafeCastTo ContentSniffer++-- method ContentSniffer::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Soup" "ContentSniffer"+-- throws : False+-- Skip return : False++foreign import ccall "soup_content_sniffer_new" soup_content_sniffer_new :: +    IO (Ptr ContentSniffer)+++contentSnifferNew ::+    (MonadIO m) =>+    m ContentSniffer+contentSnifferNew  = liftIO $ do+    result <- soup_content_sniffer_new+    result' <- (wrapObject ContentSniffer) result+    return result'++-- method ContentSniffer::get_buffer_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt64+-- throws : False+-- Skip return : False++foreign import ccall "soup_content_sniffer_get_buffer_size" soup_content_sniffer_get_buffer_size :: +    Ptr ContentSniffer ->                   -- _obj : TInterface "Soup" "ContentSniffer"+    IO Word64+++contentSnifferGetBufferSize ::+    (MonadIO m, ContentSnifferK a) =>+    a ->                                    -- _obj+    m Word64+contentSnifferGetBufferSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_content_sniffer_get_buffer_size _obj'+    touchManagedPtr _obj+    return result++-- method ContentSniffer::sniff+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ContentSniffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_content_sniffer_sniff" soup_content_sniffer_sniff :: +    Ptr ContentSniffer ->                   -- _obj : TInterface "Soup" "ContentSniffer"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    Ptr Buffer ->                           -- buffer : TInterface "Soup" "Buffer"+    Ptr (Ptr (GHashTable CString CString)) -> -- params : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO CString+++contentSnifferSniff ::+    (MonadIO m, ContentSnifferK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    Buffer ->                               -- buffer+    m (T.Text,(Map.Map T.Text T.Text))+contentSnifferSniff _obj msg buffer = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    let buffer' = unsafeManagedPtrGetPtr buffer+    params <- allocMem :: IO (Ptr (Ptr (GHashTable CString CString)))+    result <- soup_content_sniffer_sniff _obj' msg' buffer' params+    result' <- cstringToText result+    freeMem result+    params' <- peek params+    params'' <- unpackGHashTable params'+    let params''' = mapFirst cstringUnpackPtr params''+    params'''' <- mapFirstA cstringToText params'''+    let params''''' = mapSecond cstringUnpackPtr params''''+    params'''''' <- mapSecondA cstringToText params'''''+    let params''''''' = Map.fromList params''''''+    unrefGHashTable params'+    touchManagedPtr _obj+    touchManagedPtr msg+    touchManagedPtr buffer+    freeMem params+    return (result', params''''''')++-- struct Cookie+newtype Cookie = Cookie (ForeignPtr Cookie)+noCookie :: Maybe Cookie+noCookie = Nothing++foreign import ccall "soup_cookie_get_type" c_soup_cookie_get_type :: +    IO GType++instance BoxedObject Cookie where+    boxedType _ = c_soup_cookie_get_type++cookieReadName :: Cookie -> IO T.Text+cookieReadName s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CString+    val' <- cstringToText val+    return val'++cookieReadValue :: Cookie -> IO T.Text+cookieReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++cookieReadDomain :: Cookie -> IO T.Text+cookieReadDomain s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CString+    val' <- cstringToText val+    return val'++cookieReadPath :: Cookie -> IO T.Text+cookieReadPath s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CString+    val' <- cstringToText val+    return val'++cookieReadExpires :: Cookie -> IO Date+cookieReadExpires s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Date)+    val' <- (newBoxed Date) val+    return val'++cookieReadSecure :: Cookie -> IO Bool+cookieReadSecure s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CInt+    let val' = (/= 0) val+    return val'++cookieReadHttpOnly :: Cookie -> IO Bool+cookieReadHttpOnly s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 44) :: IO CInt+    let val' = (/= 0) val+    return val'++-- method Cookie::new+-- method type : Constructor+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Cookie"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_new" soup_cookie_new :: +    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    CString ->                              -- domain : TBasicType TUTF8+    CString ->                              -- path : TBasicType TUTF8+    Int32 ->                                -- max_age : TBasicType TInt32+    IO (Ptr Cookie)+++cookieNew ::+    (MonadIO m) =>+    T.Text ->                               -- name+    T.Text ->                               -- value+    T.Text ->                               -- domain+    T.Text ->                               -- path+    Int32 ->                                -- max_age+    m Cookie+cookieNew name value domain path max_age = liftIO $ do+    name' <- textToCString name+    value' <- textToCString value+    domain' <- textToCString domain+    path' <- textToCString path+    result <- soup_cookie_new name' value' domain' path' max_age+    result' <- (wrapBoxed Cookie) result+    freeMem name'+    freeMem value'+    freeMem domain'+    freeMem path'+    return result'++-- method Cookie::applies_to_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_applies_to_uri" soup_cookie_applies_to_uri :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    IO CInt+++cookieAppliesToUri ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    URI ->                                  -- uri+    m Bool+cookieAppliesToUri _obj uri = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    result <- soup_cookie_applies_to_uri _obj' uri'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr uri+    return result'++-- method Cookie::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Cookie"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_copy" soup_cookie_copy :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO (Ptr Cookie)+++cookieCopy ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m Cookie+cookieCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_copy _obj'+    result' <- (wrapBoxed Cookie) result+    touchManagedPtr _obj+    return result'++-- method Cookie::domain_matches+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_domain_matches" soup_cookie_domain_matches :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    CString ->                              -- host : TBasicType TUTF8+    IO CInt+++cookieDomainMatches ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    T.Text ->                               -- host+    m Bool+cookieDomainMatches _obj host = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    host' <- textToCString host+    result <- soup_cookie_domain_matches _obj' host'+    let result' = (/= 0) result+    touchManagedPtr _obj+    freeMem host'+    return result'++-- method Cookie::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie2", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie2", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_equal" soup_cookie_equal :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    Ptr Cookie ->                           -- cookie2 : TInterface "Soup" "Cookie"+    IO CInt+++cookieEqual ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    Cookie ->                               -- cookie2+    m Bool+cookieEqual _obj cookie2 = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let cookie2' = unsafeManagedPtrGetPtr cookie2+    result <- soup_cookie_equal _obj' cookie2'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr cookie2+    return result'++-- method Cookie::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_free" soup_cookie_free :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO ()+++cookieFree ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m ()+cookieFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_cookie_free _obj'+    touchManagedPtr _obj+    return ()++-- method Cookie::get_domain+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_get_domain" soup_cookie_get_domain :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO CString+++cookieGetDomain ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m T.Text+cookieGetDomain _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_get_domain _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Cookie::get_expires+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Date"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_get_expires" soup_cookie_get_expires :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO (Ptr Date)+++cookieGetExpires ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m Date+cookieGetExpires _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_get_expires _obj'+    result' <- (newBoxed Date) result+    touchManagedPtr _obj+    return result'++-- method Cookie::get_http_only+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_get_http_only" soup_cookie_get_http_only :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO CInt+++cookieGetHttpOnly ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m Bool+cookieGetHttpOnly _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_get_http_only _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Cookie::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_get_name" soup_cookie_get_name :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO CString+++cookieGetName ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m T.Text+cookieGetName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_get_name _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Cookie::get_path+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_get_path" soup_cookie_get_path :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO CString+++cookieGetPath ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m T.Text+cookieGetPath _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_get_path _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Cookie::get_secure+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_get_secure" soup_cookie_get_secure :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO CInt+++cookieGetSecure ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m Bool+cookieGetSecure _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_get_secure _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Cookie::get_value+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_get_value" soup_cookie_get_value :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO CString+++cookieGetValue ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m T.Text+cookieGetValue _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_get_value _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Cookie::set_domain+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_set_domain" soup_cookie_set_domain :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    CString ->                              -- domain : TBasicType TUTF8+    IO ()+++cookieSetDomain ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    T.Text ->                               -- domain+    m ()+cookieSetDomain _obj domain = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    domain' <- textToCString domain+    soup_cookie_set_domain _obj' domain'+    touchManagedPtr _obj+    freeMem domain'+    return ()++-- method Cookie::set_expires+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expires", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expires", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_set_expires" soup_cookie_set_expires :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    Ptr Date ->                             -- expires : TInterface "Soup" "Date"+    IO ()+++cookieSetExpires ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    Date ->                                 -- expires+    m ()+cookieSetExpires _obj expires = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let expires' = unsafeManagedPtrGetPtr expires+    soup_cookie_set_expires _obj' expires'+    touchManagedPtr _obj+    touchManagedPtr expires+    return ()++-- method Cookie::set_http_only+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "http_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "http_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_set_http_only" soup_cookie_set_http_only :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    CInt ->                                 -- http_only : TBasicType TBoolean+    IO ()+++cookieSetHttpOnly ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    Bool ->                                 -- http_only+    m ()+cookieSetHttpOnly _obj http_only = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let http_only' = (fromIntegral . fromEnum) http_only+    soup_cookie_set_http_only _obj' http_only'+    touchManagedPtr _obj+    return ()++-- method Cookie::set_max_age+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_set_max_age" soup_cookie_set_max_age :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    Int32 ->                                -- max_age : TBasicType TInt32+    IO ()+++cookieSetMaxAge ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    Int32 ->                                -- max_age+    m ()+cookieSetMaxAge _obj max_age = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_cookie_set_max_age _obj' max_age+    touchManagedPtr _obj+    return ()++-- method Cookie::set_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_set_name" soup_cookie_set_name :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    CString ->                              -- name : TBasicType TUTF8+    IO ()+++cookieSetName ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    T.Text ->                               -- name+    m ()+cookieSetName _obj name = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    soup_cookie_set_name _obj' name'+    touchManagedPtr _obj+    freeMem name'+    return ()++-- method Cookie::set_path+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_set_path" soup_cookie_set_path :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    CString ->                              -- path : TBasicType TUTF8+    IO ()+++cookieSetPath ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    T.Text ->                               -- path+    m ()+cookieSetPath _obj path = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    path' <- textToCString path+    soup_cookie_set_path _obj' path'+    touchManagedPtr _obj+    freeMem path'+    return ()++-- method Cookie::set_secure+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "secure", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "secure", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_set_secure" soup_cookie_set_secure :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    CInt ->                                 -- secure : TBasicType TBoolean+    IO ()+++cookieSetSecure ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    Bool ->                                 -- secure+    m ()+cookieSetSecure _obj secure = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let secure' = (fromIntegral . fromEnum) secure+    soup_cookie_set_secure _obj' secure'+    touchManagedPtr _obj+    return ()++-- method Cookie::set_value+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_set_value" soup_cookie_set_value :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    CString ->                              -- value : TBasicType TUTF8+    IO ()+++cookieSetValue ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    T.Text ->                               -- value+    m ()+cookieSetValue _obj value = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    value' <- textToCString value+    soup_cookie_set_value _obj' value'+    touchManagedPtr _obj+    freeMem value'+    return ()++-- method Cookie::to_cookie_header+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_to_cookie_header" soup_cookie_to_cookie_header :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO CString+++cookieToCookieHeader ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m T.Text+cookieToCookieHeader _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_to_cookie_header _obj'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- method Cookie::to_set_cookie_header+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_to_set_cookie_header" soup_cookie_to_set_cookie_header :: +    Ptr Cookie ->                           -- _obj : TInterface "Soup" "Cookie"+    IO CString+++cookieToSetCookieHeader ::+    (MonadIO m) =>+    Cookie ->                               -- _obj+    m T.Text+cookieToSetCookieHeader _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_cookie_to_set_cookie_header _obj'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- object CookieJar +newtype CookieJar = CookieJar (ForeignPtr CookieJar)+noCookieJar :: Maybe CookieJar+noCookieJar = Nothing++foreign import ccall "soup_cookie_jar_get_type"+    c_soup_cookie_jar_get_type :: IO GType++type instance ParentTypes CookieJar = '[GObject.Object, SessionFeature]++instance GObject CookieJar where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_cookie_jar_get_type+    ++class GObject o => CookieJarK o+instance (GObject o, IsDescendantOf CookieJar o) => CookieJarK o++toCookieJar :: CookieJarK o => o -> IO CookieJar+toCookieJar = unsafeCastTo CookieJar++-- method CookieJar::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Soup" "CookieJar"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_new" soup_cookie_jar_new :: +    IO (Ptr CookieJar)+++cookieJarNew ::+    (MonadIO m) =>+    m CookieJar+cookieJarNew  = liftIO $ do+    result <- soup_cookie_jar_new+    result' <- (wrapObject CookieJar) result+    return result'++-- method CookieJar::add_cookie+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_add_cookie" soup_cookie_jar_add_cookie :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    Ptr Cookie ->                           -- cookie : TInterface "Soup" "Cookie"+    IO ()+++cookieJarAddCookie ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    Cookie ->                               -- cookie+    m ()+cookieJarAddCookie _obj cookie = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    cookie' <- copyBoxed cookie+    soup_cookie_jar_add_cookie _obj' cookie'+    touchManagedPtr _obj+    touchManagedPtr cookie+    return ()++-- method CookieJar::add_cookie_with_first_party+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_add_cookie_with_first_party" soup_cookie_jar_add_cookie_with_first_party :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    Ptr URI ->                              -- first_party : TInterface "Soup" "URI"+    Ptr Cookie ->                           -- cookie : TInterface "Soup" "Cookie"+    IO ()+++cookieJarAddCookieWithFirstParty ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    URI ->                                  -- first_party+    Cookie ->                               -- cookie+    m ()+cookieJarAddCookieWithFirstParty _obj first_party cookie = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let first_party' = unsafeManagedPtrGetPtr first_party+    cookie' <- copyBoxed cookie+    soup_cookie_jar_add_cookie_with_first_party _obj' first_party' cookie'+    touchManagedPtr _obj+    touchManagedPtr first_party+    touchManagedPtr cookie+    return ()++-- method CookieJar::all_cookies+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Soup" "Cookie")+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_all_cookies" soup_cookie_jar_all_cookies :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    IO (Ptr (GSList (Ptr Cookie)))+++cookieJarAllCookies ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    m [Cookie]+cookieJarAllCookies _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_cookie_jar_all_cookies _obj'+    result' <- unpackGSList result+    result'' <- mapM (wrapBoxed Cookie) result'+    g_slist_free result+    touchManagedPtr _obj+    return result''++-- method CookieJar::delete_cookie+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_delete_cookie" soup_cookie_jar_delete_cookie :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    Ptr Cookie ->                           -- cookie : TInterface "Soup" "Cookie"+    IO ()+++cookieJarDeleteCookie ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    Cookie ->                               -- cookie+    m ()+cookieJarDeleteCookie _obj cookie = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let cookie' = unsafeManagedPtrGetPtr cookie+    soup_cookie_jar_delete_cookie _obj' cookie'+    touchManagedPtr _obj+    touchManagedPtr cookie+    return ()++-- method CookieJar::get_accept_policy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "CookieJarAcceptPolicy"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_get_accept_policy" soup_cookie_jar_get_accept_policy :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    IO CUInt+++cookieJarGetAcceptPolicy ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    m CookieJarAcceptPolicy+cookieJarGetAcceptPolicy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_cookie_jar_get_accept_policy _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method CookieJar::get_cookie_list+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Soup" "Cookie")+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_get_cookie_list" soup_cookie_jar_get_cookie_list :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    CInt ->                                 -- for_http : TBasicType TBoolean+    IO (Ptr (GSList (Ptr Cookie)))+++cookieJarGetCookieList ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    Bool ->                                 -- for_http+    m [Cookie]+cookieJarGetCookieList _obj uri for_http = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    let for_http' = (fromIntegral . fromEnum) for_http+    result <- soup_cookie_jar_get_cookie_list _obj' uri' for_http'+    result' <- unpackGSList result+    result'' <- mapM (wrapBoxed Cookie) result'+    g_slist_free result+    touchManagedPtr _obj+    touchManagedPtr uri+    return result''++-- method CookieJar::get_cookies+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_http", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_get_cookies" soup_cookie_jar_get_cookies :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    CInt ->                                 -- for_http : TBasicType TBoolean+    IO CString+++cookieJarGetCookies ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    Bool ->                                 -- for_http+    m T.Text+cookieJarGetCookies _obj uri for_http = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    let for_http' = (fromIntegral . fromEnum) for_http+    result <- soup_cookie_jar_get_cookies _obj' uri' for_http'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    touchManagedPtr uri+    return result'++-- method CookieJar::is_persistent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_is_persistent" soup_cookie_jar_is_persistent :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    IO CInt+++cookieJarIsPersistent ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    m Bool+cookieJarIsPersistent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_cookie_jar_is_persistent _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method CookieJar::save+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_save" soup_cookie_jar_save :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    IO ()++{-# DEPRECATED cookieJarSave ["This is a no-op."]#-}+cookieJarSave ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    m ()+cookieJarSave _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_cookie_jar_save _obj'+    touchManagedPtr _obj+    return ()++-- method CookieJar::set_accept_policy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "policy", argType = TInterface "Soup" "CookieJarAcceptPolicy", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "policy", argType = TInterface "Soup" "CookieJarAcceptPolicy", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_set_accept_policy" soup_cookie_jar_set_accept_policy :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    CUInt ->                                -- policy : TInterface "Soup" "CookieJarAcceptPolicy"+    IO ()+++cookieJarSetAcceptPolicy ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    CookieJarAcceptPolicy ->                -- policy+    m ()+cookieJarSetAcceptPolicy _obj policy = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let policy' = (fromIntegral . fromEnum) policy+    soup_cookie_jar_set_accept_policy _obj' policy'+    touchManagedPtr _obj+    return ()++-- method CookieJar::set_cookie+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_set_cookie" soup_cookie_jar_set_cookie :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    CString ->                              -- cookie : TBasicType TUTF8+    IO ()+++cookieJarSetCookie ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    T.Text ->                               -- cookie+    m ()+cookieJarSetCookie _obj uri cookie = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    cookie' <- textToCString cookie+    soup_cookie_jar_set_cookie _obj' uri' cookie'+    touchManagedPtr _obj+    touchManagedPtr uri+    freeMem cookie'+    return ()++-- method CookieJar::set_cookie_with_first_party+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "CookieJar", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_set_cookie_with_first_party" soup_cookie_jar_set_cookie_with_first_party :: +    Ptr CookieJar ->                        -- _obj : TInterface "Soup" "CookieJar"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    Ptr URI ->                              -- first_party : TInterface "Soup" "URI"+    CString ->                              -- cookie : TBasicType TUTF8+    IO ()+++cookieJarSetCookieWithFirstParty ::+    (MonadIO m, CookieJarK a) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    URI ->                                  -- first_party+    T.Text ->                               -- cookie+    m ()+cookieJarSetCookieWithFirstParty _obj uri first_party cookie = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    let first_party' = unsafeManagedPtrGetPtr first_party+    cookie' <- textToCString cookie+    soup_cookie_jar_set_cookie_with_first_party _obj' uri' first_party' cookie'+    touchManagedPtr _obj+    touchManagedPtr uri+    touchManagedPtr first_party+    freeMem cookie'+    return ()++-- signal CookieJar::changed+type CookieJarChangedCallback =+    Cookie ->+    Cookie ->+    IO ()++noCookieJarChangedCallback :: Maybe CookieJarChangedCallback+noCookieJarChangedCallback = Nothing++type CookieJarChangedCallbackC =+    Ptr () ->                               -- object+    Ptr Cookie ->+    Ptr Cookie ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkCookieJarChangedCallback :: CookieJarChangedCallbackC -> IO (FunPtr CookieJarChangedCallbackC)++cookieJarChangedClosure :: CookieJarChangedCallback -> IO Closure+cookieJarChangedClosure cb = newCClosure =<< mkCookieJarChangedCallback wrapped+    where wrapped = cookieJarChangedCallbackWrapper cb++cookieJarChangedCallbackWrapper ::+    CookieJarChangedCallback ->+    Ptr () ->+    Ptr Cookie ->+    Ptr Cookie ->+    Ptr () ->+    IO ()+cookieJarChangedCallbackWrapper _cb _ old_cookie new_cookie _ = do+    old_cookie' <- (newBoxed Cookie) old_cookie+    new_cookie' <- (newBoxed Cookie) new_cookie+    _cb  old_cookie' new_cookie'++onCookieJarChanged :: (GObject a, MonadIO m) => a -> CookieJarChangedCallback -> m SignalHandlerId+onCookieJarChanged obj cb = liftIO $ connectCookieJarChanged obj cb SignalConnectBefore+afterCookieJarChanged :: (GObject a, MonadIO m) => a -> CookieJarChangedCallback -> m SignalHandlerId+afterCookieJarChanged obj cb = connectCookieJarChanged obj cb SignalConnectAfter++connectCookieJarChanged :: (GObject a, MonadIO m) =>+                           a -> CookieJarChangedCallback -> SignalConnectMode -> m SignalHandlerId+connectCookieJarChanged obj cb after = liftIO $ do+    cb' <- mkCookieJarChangedCallback (cookieJarChangedCallbackWrapper cb)+    connectSignalFunPtr obj "changed" cb' after++-- Enum CookieJarAcceptPolicy++data CookieJarAcceptPolicy = +      CookieJarAcceptPolicyAlways+    | CookieJarAcceptPolicyNever+    | CookieJarAcceptPolicyNoThirdParty+    | AnotherCookieJarAcceptPolicy Int+    deriving (Show, Eq)++instance Enum CookieJarAcceptPolicy where+    fromEnum CookieJarAcceptPolicyAlways = 0+    fromEnum CookieJarAcceptPolicyNever = 1+    fromEnum CookieJarAcceptPolicyNoThirdParty = 2+    fromEnum (AnotherCookieJarAcceptPolicy k) = k++    toEnum 0 = CookieJarAcceptPolicyAlways+    toEnum 1 = CookieJarAcceptPolicyNever+    toEnum 2 = CookieJarAcceptPolicyNoThirdParty+    toEnum k = AnotherCookieJarAcceptPolicy k++foreign import ccall "soup_cookie_jar_accept_policy_get_type" c_soup_cookie_jar_accept_policy_get_type :: +    IO GType++instance BoxedEnum CookieJarAcceptPolicy where+    boxedEnumType _ = c_soup_cookie_jar_accept_policy_get_type++-- object CookieJarDB +newtype CookieJarDB = CookieJarDB (ForeignPtr CookieJarDB)+noCookieJarDB :: Maybe CookieJarDB+noCookieJarDB = Nothing++foreign import ccall "soup_cookie_jar_db_get_type"+    c_soup_cookie_jar_db_get_type :: IO GType++type instance ParentTypes CookieJarDB = '[CookieJar, GObject.Object, SessionFeature]++instance GObject CookieJarDB where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_cookie_jar_db_get_type+    ++class GObject o => CookieJarDBK o+instance (GObject o, IsDescendantOf CookieJarDB o) => CookieJarDBK o++toCookieJarDB :: CookieJarDBK o => o -> IO CookieJarDB+toCookieJarDB = unsafeCastTo CookieJarDB++-- method CookieJarDB::new+-- method type : Constructor+-- Args : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "CookieJarDB"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_db_new" soup_cookie_jar_db_new :: +    CString ->                              -- filename : TBasicType TUTF8+    CInt ->                                 -- read_only : TBasicType TBoolean+    IO (Ptr CookieJarDB)+++cookieJarDBNew ::+    (MonadIO m) =>+    T.Text ->                               -- filename+    Bool ->                                 -- read_only+    m CookieJarDB+cookieJarDBNew filename read_only = liftIO $ do+    filename' <- textToCString filename+    let read_only' = (fromIntegral . fromEnum) read_only+    result <- soup_cookie_jar_db_new filename' read_only'+    result' <- (wrapObject CookieJarDB) result+    freeMem filename'+    return result'++-- object CookieJarText +newtype CookieJarText = CookieJarText (ForeignPtr CookieJarText)+noCookieJarText :: Maybe CookieJarText+noCookieJarText = Nothing++foreign import ccall "soup_cookie_jar_text_get_type"+    c_soup_cookie_jar_text_get_type :: IO GType++type instance ParentTypes CookieJarText = '[CookieJar, GObject.Object, SessionFeature]++instance GObject CookieJarText where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_cookie_jar_text_get_type+    ++class GObject o => CookieJarTextK o+instance (GObject o, IsDescendantOf CookieJarText o) => CookieJarTextK o++toCookieJarText :: CookieJarTextK o => o -> IO CookieJarText+toCookieJarText = unsafeCastTo CookieJarText++-- method CookieJarText::new+-- method type : Constructor+-- Args : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "read_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "CookieJarText"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_jar_text_new" soup_cookie_jar_text_new :: +    CString ->                              -- filename : TBasicType TUTF8+    CInt ->                                 -- read_only : TBasicType TBoolean+    IO (Ptr CookieJarText)+++cookieJarTextNew ::+    (MonadIO m) =>+    T.Text ->                               -- filename+    Bool ->                                 -- read_only+    m CookieJarText+cookieJarTextNew filename read_only = liftIO $ do+    filename' <- textToCString filename+    let read_only' = (fromIntegral . fromEnum) read_only+    result <- soup_cookie_jar_text_new filename' read_only'+    result' <- (wrapObject CookieJarText) result+    freeMem filename'+    return result'++-- struct Date+newtype Date = Date (ForeignPtr Date)+noDate :: Maybe Date+noDate = Nothing++foreign import ccall "soup_date_get_type" c_soup_date_get_type :: +    IO GType++instance BoxedObject Date where+    boxedType _ = c_soup_date_get_type++dateReadYear :: Date -> IO Int32+dateReadYear s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++dateReadMonth :: Date -> IO Int32+dateReadMonth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++dateReadDay :: Date -> IO Int32+dateReadDay s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++dateReadHour :: Date -> IO Int32+dateReadHour s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++dateReadMinute :: Date -> IO Int32+dateReadMinute s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++dateReadSecond :: Date -> IO Int32+dateReadSecond s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++dateReadUtc :: Date -> IO Bool+dateReadUtc s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CInt+    let val' = (/= 0) val+    return val'++dateReadOffset :: Date -> IO Int32+dateReadOffset s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Int32+    return val++-- method Date::new+-- method type : Constructor+-- Args : [Arg {argName = "year", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "month", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "day", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hour", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minute", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "second", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "year", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "month", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "day", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hour", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minute", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "second", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Date"+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_new" soup_date_new :: +    Int32 ->                                -- year : TBasicType TInt32+    Int32 ->                                -- month : TBasicType TInt32+    Int32 ->                                -- day : TBasicType TInt32+    Int32 ->                                -- hour : TBasicType TInt32+    Int32 ->                                -- minute : TBasicType TInt32+    Int32 ->                                -- second : TBasicType TInt32+    IO (Ptr Date)+++dateNew ::+    (MonadIO m) =>+    Int32 ->                                -- year+    Int32 ->                                -- month+    Int32 ->                                -- day+    Int32 ->                                -- hour+    Int32 ->                                -- minute+    Int32 ->                                -- second+    m Date+dateNew year month day hour minute second = liftIO $ do+    result <- soup_date_new year month day hour minute second+    result' <- (wrapBoxed Date) result+    return result'++-- method Date::new_from_now+-- method type : Constructor+-- Args : [Arg {argName = "offset_seconds", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "offset_seconds", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Date"+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_new_from_now" soup_date_new_from_now :: +    Int32 ->                                -- offset_seconds : TBasicType TInt32+    IO (Ptr Date)+++dateNewFromNow ::+    (MonadIO m) =>+    Int32 ->                                -- offset_seconds+    m Date+dateNewFromNow offset_seconds = liftIO $ do+    result <- soup_date_new_from_now offset_seconds+    result' <- (wrapBoxed Date) result+    return result'++-- method Date::new_from_string+-- method type : Constructor+-- Args : [Arg {argName = "date_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "date_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Date"+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_new_from_string" soup_date_new_from_string :: +    CString ->                              -- date_string : TBasicType TUTF8+    IO (Ptr Date)+++dateNewFromString ::+    (MonadIO m) =>+    T.Text ->                               -- date_string+    m Date+dateNewFromString date_string = liftIO $ do+    date_string' <- textToCString date_string+    result <- soup_date_new_from_string date_string'+    result' <- (wrapBoxed Date) result+    freeMem date_string'+    return result'++-- method Date::new_from_time_t+-- method type : Constructor+-- Args : [Arg {argName = "when", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "when", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Date"+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_new_from_time_t" soup_date_new_from_time_t :: +    Int64 ->                                -- when : TBasicType TInt64+    IO (Ptr Date)+++dateNewFromTimeT ::+    (MonadIO m) =>+    Int64 ->                                -- when+    m Date+dateNewFromTimeT when_ = liftIO $ do+    result <- soup_date_new_from_time_t when_+    result' <- (wrapBoxed Date) result+    return result'++-- method Date::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Date"+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_copy" soup_date_copy :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO (Ptr Date)+++dateCopy ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Date+dateCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_copy _obj'+    result' <- (wrapBoxed Date) result+    touchManagedPtr _obj+    return result'++-- method Date::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_free" soup_date_free :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO ()+++dateFree ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m ()+dateFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_date_free _obj'+    touchManagedPtr _obj+    return ()++-- method Date::get_day+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_get_day" soup_date_get_day :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int32+++dateGetDay ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int32+dateGetDay _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_get_day _obj'+    touchManagedPtr _obj+    return result++-- method Date::get_hour+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_get_hour" soup_date_get_hour :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int32+++dateGetHour ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int32+dateGetHour _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_get_hour _obj'+    touchManagedPtr _obj+    return result++-- method Date::get_minute+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_get_minute" soup_date_get_minute :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int32+++dateGetMinute ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int32+dateGetMinute _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_get_minute _obj'+    touchManagedPtr _obj+    return result++-- method Date::get_month+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_get_month" soup_date_get_month :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int32+++dateGetMonth ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int32+dateGetMonth _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_get_month _obj'+    touchManagedPtr _obj+    return result++-- method Date::get_offset+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_get_offset" soup_date_get_offset :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int32+++dateGetOffset ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int32+dateGetOffset _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_get_offset _obj'+    touchManagedPtr _obj+    return result++-- method Date::get_second+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_get_second" soup_date_get_second :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int32+++dateGetSecond ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int32+dateGetSecond _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_get_second _obj'+    touchManagedPtr _obj+    return result++-- method Date::get_utc+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_get_utc" soup_date_get_utc :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int32+++dateGetUtc ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int32+dateGetUtc _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_get_utc _obj'+    touchManagedPtr _obj+    return result++-- method Date::get_year+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_get_year" soup_date_get_year :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int32+++dateGetYear ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int32+dateGetYear _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_get_year _obj'+    touchManagedPtr _obj+    return result++-- method Date::is_past+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_is_past" soup_date_is_past :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO CInt+++dateIsPast ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Bool+dateIsPast _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_is_past _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Date::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TInterface "Soup" "DateFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TInterface "Soup" "DateFormat", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_to_string" soup_date_to_string :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    CUInt ->                                -- format : TInterface "Soup" "DateFormat"+    IO CString+++dateToString ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    DateFormat ->                           -- format+    m T.Text+dateToString _obj format = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let format' = (fromIntegral . fromEnum) format+    result <- soup_date_to_string _obj' format'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- method Date::to_time_t+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_to_time_t" soup_date_to_time_t :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    IO Int64+++dateToTimeT ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m Int64+dateToTimeT _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_date_to_time_t _obj'+    touchManagedPtr _obj+    return result++-- method Date::to_timeval+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time", argType = TInterface "GLib" "TimeVal", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_date_to_timeval" soup_date_to_timeval :: +    Ptr Date ->                             -- _obj : TInterface "Soup" "Date"+    Ptr GLib.TimeVal ->                     -- time : TInterface "GLib" "TimeVal"+    IO ()+++dateToTimeval ::+    (MonadIO m) =>+    Date ->                                 -- _obj+    m (GLib.TimeVal)+dateToTimeval _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    time <- callocBytes 16 :: IO (Ptr GLib.TimeVal)+    soup_date_to_timeval _obj' time+    time' <- (wrapPtr GLib.TimeVal) time+    touchManagedPtr _obj+    return time'++-- Enum DateFormat++data DateFormat = +      DateFormatHttp+    | DateFormatCookie+    | DateFormatRfc2822+    | DateFormatIso8601Compact+    | DateFormatIso8601Full+    | DateFormatIso8601+    | DateFormatIso8601Xmlrpc+    | AnotherDateFormat Int+    deriving (Show, Eq)++instance Enum DateFormat where+    fromEnum DateFormatHttp = 1+    fromEnum DateFormatCookie = 2+    fromEnum DateFormatRfc2822 = 3+    fromEnum DateFormatIso8601Compact = 4+    fromEnum DateFormatIso8601Full = 5+    fromEnum DateFormatIso8601 = 5+    fromEnum DateFormatIso8601Xmlrpc = 6+    fromEnum (AnotherDateFormat k) = k++    toEnum 1 = DateFormatHttp+    toEnum 2 = DateFormatCookie+    toEnum 3 = DateFormatRfc2822+    toEnum 4 = DateFormatIso8601Compact+    toEnum 5 = DateFormatIso8601Full+    toEnum 6 = DateFormatIso8601Xmlrpc+    toEnum k = AnotherDateFormat k++foreign import ccall "soup_date_format_get_type" c_soup_date_format_get_type :: +    IO GType++instance BoxedEnum DateFormat where+    boxedEnumType _ = c_soup_date_format_get_type++-- Enum Encoding++data Encoding = +      EncodingUnrecognized+    | EncodingNone+    | EncodingContentLength+    | EncodingEof+    | EncodingChunked+    | EncodingByteranges+    | AnotherEncoding Int+    deriving (Show, Eq)++instance Enum Encoding where+    fromEnum EncodingUnrecognized = 0+    fromEnum EncodingNone = 1+    fromEnum EncodingContentLength = 2+    fromEnum EncodingEof = 3+    fromEnum EncodingChunked = 4+    fromEnum EncodingByteranges = 5+    fromEnum (AnotherEncoding k) = k++    toEnum 0 = EncodingUnrecognized+    toEnum 1 = EncodingNone+    toEnum 2 = EncodingContentLength+    toEnum 3 = EncodingEof+    toEnum 4 = EncodingChunked+    toEnum 5 = EncodingByteranges+    toEnum k = AnotherEncoding k++foreign import ccall "soup_encoding_get_type" c_soup_encoding_get_type :: +    IO GType++instance BoxedEnum Encoding where+    boxedEnumType _ = c_soup_encoding_get_type++-- Flags Expectation++data Expectation = +      ExpectationUnrecognized+    | ExpectationContinue+    | AnotherExpectation Int+    deriving (Show, Eq)++instance Enum Expectation where+    fromEnum ExpectationUnrecognized = 1+    fromEnum ExpectationContinue = 2+    fromEnum (AnotherExpectation k) = k++    toEnum 1 = ExpectationUnrecognized+    toEnum 2 = ExpectationContinue+    toEnum k = AnotherExpectation k++foreign import ccall "soup_expectation_get_type" c_soup_expectation_get_type :: +    IO GType++instance BoxedEnum Expectation where+    boxedEnumType _ = c_soup_expectation_get_type++instance IsGFlag Expectation++-- Enum HTTPVersion++data HTTPVersion = +      HTTPVersionHttp10+    | HTTPVersionHttp11+    | AnotherHTTPVersion Int+    deriving (Show, Eq)++instance Enum HTTPVersion where+    fromEnum HTTPVersionHttp10 = 0+    fromEnum HTTPVersionHttp11 = 1+    fromEnum (AnotherHTTPVersion k) = k++    toEnum 0 = HTTPVersionHttp10+    toEnum 1 = HTTPVersionHttp11+    toEnum k = AnotherHTTPVersion k++foreign import ccall "soup_http_version_get_type" c_soup_http_version_get_type :: +    IO GType++instance BoxedEnum HTTPVersion where+    boxedEnumType _ = c_soup_http_version_get_type++-- Enum KnownStatusCode++data KnownStatusCode = +      KnownStatusCodeNone+    | KnownStatusCodeCancelled+    | KnownStatusCodeCantResolve+    | KnownStatusCodeCantResolveProxy+    | KnownStatusCodeCantConnect+    | KnownStatusCodeCantConnectProxy+    | KnownStatusCodeSslFailed+    | KnownStatusCodeIoError+    | KnownStatusCodeMalformed+    | KnownStatusCodeTryAgain+    | KnownStatusCodeTooManyRedirects+    | KnownStatusCodeTlsFailed+    | KnownStatusCodeContinue+    | KnownStatusCodeSwitchingProtocols+    | KnownStatusCodeProcessing+    | KnownStatusCodeOk+    | KnownStatusCodeCreated+    | KnownStatusCodeAccepted+    | KnownStatusCodeNonAuthoritative+    | KnownStatusCodeNoContent+    | KnownStatusCodeResetContent+    | KnownStatusCodePartialContent+    | KnownStatusCodeMultiStatus+    | KnownStatusCodeMultipleChoices+    | KnownStatusCodeMovedPermanently+    | KnownStatusCodeFound+    | KnownStatusCodeMovedTemporarily+    | KnownStatusCodeSeeOther+    | KnownStatusCodeNotModified+    | KnownStatusCodeUseProxy+    | KnownStatusCodeNotAppearingInThisProtocol+    | KnownStatusCodeTemporaryRedirect+    | KnownStatusCodeBadRequest+    | KnownStatusCodeUnauthorized+    | KnownStatusCodePaymentRequired+    | KnownStatusCodeForbidden+    | KnownStatusCodeNotFound+    | KnownStatusCodeMethodNotAllowed+    | KnownStatusCodeNotAcceptable+    | KnownStatusCodeProxyAuthenticationRequired+    | KnownStatusCodeProxyUnauthorized+    | KnownStatusCodeRequestTimeout+    | KnownStatusCodeConflict+    | KnownStatusCodeGone+    | KnownStatusCodeLengthRequired+    | KnownStatusCodePreconditionFailed+    | KnownStatusCodeRequestEntityTooLarge+    | KnownStatusCodeRequestUriTooLong+    | KnownStatusCodeUnsupportedMediaType+    | KnownStatusCodeRequestedRangeNotSatisfiable+    | KnownStatusCodeInvalidRange+    | KnownStatusCodeExpectationFailed+    | KnownStatusCodeUnprocessableEntity+    | KnownStatusCodeLocked+    | KnownStatusCodeFailedDependency+    | KnownStatusCodeInternalServerError+    | KnownStatusCodeNotImplemented+    | KnownStatusCodeBadGateway+    | KnownStatusCodeServiceUnavailable+    | KnownStatusCodeGatewayTimeout+    | KnownStatusCodeHttpVersionNotSupported+    | KnownStatusCodeInsufficientStorage+    | KnownStatusCodeNotExtended+    | AnotherKnownStatusCode Int+    deriving (Show, Eq)++instance Enum KnownStatusCode where+    fromEnum KnownStatusCodeNone = 0+    fromEnum KnownStatusCodeCancelled = 1+    fromEnum KnownStatusCodeCantResolve = 2+    fromEnum KnownStatusCodeCantResolveProxy = 3+    fromEnum KnownStatusCodeCantConnect = 4+    fromEnum KnownStatusCodeCantConnectProxy = 5+    fromEnum KnownStatusCodeSslFailed = 6+    fromEnum KnownStatusCodeIoError = 7+    fromEnum KnownStatusCodeMalformed = 8+    fromEnum KnownStatusCodeTryAgain = 9+    fromEnum KnownStatusCodeTooManyRedirects = 10+    fromEnum KnownStatusCodeTlsFailed = 11+    fromEnum KnownStatusCodeContinue = 100+    fromEnum KnownStatusCodeSwitchingProtocols = 101+    fromEnum KnownStatusCodeProcessing = 102+    fromEnum KnownStatusCodeOk = 200+    fromEnum KnownStatusCodeCreated = 201+    fromEnum KnownStatusCodeAccepted = 202+    fromEnum KnownStatusCodeNonAuthoritative = 203+    fromEnum KnownStatusCodeNoContent = 204+    fromEnum KnownStatusCodeResetContent = 205+    fromEnum KnownStatusCodePartialContent = 206+    fromEnum KnownStatusCodeMultiStatus = 207+    fromEnum KnownStatusCodeMultipleChoices = 300+    fromEnum KnownStatusCodeMovedPermanently = 301+    fromEnum KnownStatusCodeFound = 302+    fromEnum KnownStatusCodeMovedTemporarily = 302+    fromEnum KnownStatusCodeSeeOther = 303+    fromEnum KnownStatusCodeNotModified = 304+    fromEnum KnownStatusCodeUseProxy = 305+    fromEnum KnownStatusCodeNotAppearingInThisProtocol = 306+    fromEnum KnownStatusCodeTemporaryRedirect = 307+    fromEnum KnownStatusCodeBadRequest = 400+    fromEnum KnownStatusCodeUnauthorized = 401+    fromEnum KnownStatusCodePaymentRequired = 402+    fromEnum KnownStatusCodeForbidden = 403+    fromEnum KnownStatusCodeNotFound = 404+    fromEnum KnownStatusCodeMethodNotAllowed = 405+    fromEnum KnownStatusCodeNotAcceptable = 406+    fromEnum KnownStatusCodeProxyAuthenticationRequired = 407+    fromEnum KnownStatusCodeProxyUnauthorized = 407+    fromEnum KnownStatusCodeRequestTimeout = 408+    fromEnum KnownStatusCodeConflict = 409+    fromEnum KnownStatusCodeGone = 410+    fromEnum KnownStatusCodeLengthRequired = 411+    fromEnum KnownStatusCodePreconditionFailed = 412+    fromEnum KnownStatusCodeRequestEntityTooLarge = 413+    fromEnum KnownStatusCodeRequestUriTooLong = 414+    fromEnum KnownStatusCodeUnsupportedMediaType = 415+    fromEnum KnownStatusCodeRequestedRangeNotSatisfiable = 416+    fromEnum KnownStatusCodeInvalidRange = 416+    fromEnum KnownStatusCodeExpectationFailed = 417+    fromEnum KnownStatusCodeUnprocessableEntity = 422+    fromEnum KnownStatusCodeLocked = 423+    fromEnum KnownStatusCodeFailedDependency = 424+    fromEnum KnownStatusCodeInternalServerError = 500+    fromEnum KnownStatusCodeNotImplemented = 501+    fromEnum KnownStatusCodeBadGateway = 502+    fromEnum KnownStatusCodeServiceUnavailable = 503+    fromEnum KnownStatusCodeGatewayTimeout = 504+    fromEnum KnownStatusCodeHttpVersionNotSupported = 505+    fromEnum KnownStatusCodeInsufficientStorage = 507+    fromEnum KnownStatusCodeNotExtended = 510+    fromEnum (AnotherKnownStatusCode k) = k++    toEnum 0 = KnownStatusCodeNone+    toEnum 1 = KnownStatusCodeCancelled+    toEnum 2 = KnownStatusCodeCantResolve+    toEnum 3 = KnownStatusCodeCantResolveProxy+    toEnum 4 = KnownStatusCodeCantConnect+    toEnum 5 = KnownStatusCodeCantConnectProxy+    toEnum 6 = KnownStatusCodeSslFailed+    toEnum 7 = KnownStatusCodeIoError+    toEnum 8 = KnownStatusCodeMalformed+    toEnum 9 = KnownStatusCodeTryAgain+    toEnum 10 = KnownStatusCodeTooManyRedirects+    toEnum 11 = KnownStatusCodeTlsFailed+    toEnum 100 = KnownStatusCodeContinue+    toEnum 101 = KnownStatusCodeSwitchingProtocols+    toEnum 102 = KnownStatusCodeProcessing+    toEnum 200 = KnownStatusCodeOk+    toEnum 201 = KnownStatusCodeCreated+    toEnum 202 = KnownStatusCodeAccepted+    toEnum 203 = KnownStatusCodeNonAuthoritative+    toEnum 204 = KnownStatusCodeNoContent+    toEnum 205 = KnownStatusCodeResetContent+    toEnum 206 = KnownStatusCodePartialContent+    toEnum 207 = KnownStatusCodeMultiStatus+    toEnum 300 = KnownStatusCodeMultipleChoices+    toEnum 301 = KnownStatusCodeMovedPermanently+    toEnum 302 = KnownStatusCodeFound+    toEnum 303 = KnownStatusCodeSeeOther+    toEnum 304 = KnownStatusCodeNotModified+    toEnum 305 = KnownStatusCodeUseProxy+    toEnum 306 = KnownStatusCodeNotAppearingInThisProtocol+    toEnum 307 = KnownStatusCodeTemporaryRedirect+    toEnum 400 = KnownStatusCodeBadRequest+    toEnum 401 = KnownStatusCodeUnauthorized+    toEnum 402 = KnownStatusCodePaymentRequired+    toEnum 403 = KnownStatusCodeForbidden+    toEnum 404 = KnownStatusCodeNotFound+    toEnum 405 = KnownStatusCodeMethodNotAllowed+    toEnum 406 = KnownStatusCodeNotAcceptable+    toEnum 407 = KnownStatusCodeProxyAuthenticationRequired+    toEnum 408 = KnownStatusCodeRequestTimeout+    toEnum 409 = KnownStatusCodeConflict+    toEnum 410 = KnownStatusCodeGone+    toEnum 411 = KnownStatusCodeLengthRequired+    toEnum 412 = KnownStatusCodePreconditionFailed+    toEnum 413 = KnownStatusCodeRequestEntityTooLarge+    toEnum 414 = KnownStatusCodeRequestUriTooLong+    toEnum 415 = KnownStatusCodeUnsupportedMediaType+    toEnum 416 = KnownStatusCodeRequestedRangeNotSatisfiable+    toEnum 417 = KnownStatusCodeExpectationFailed+    toEnum 422 = KnownStatusCodeUnprocessableEntity+    toEnum 423 = KnownStatusCodeLocked+    toEnum 424 = KnownStatusCodeFailedDependency+    toEnum 500 = KnownStatusCodeInternalServerError+    toEnum 501 = KnownStatusCodeNotImplemented+    toEnum 502 = KnownStatusCodeBadGateway+    toEnum 503 = KnownStatusCodeServiceUnavailable+    toEnum 504 = KnownStatusCodeGatewayTimeout+    toEnum 505 = KnownStatusCodeHttpVersionNotSupported+    toEnum 507 = KnownStatusCodeInsufficientStorage+    toEnum 510 = KnownStatusCodeNotExtended+    toEnum k = AnotherKnownStatusCode k++foreign import ccall "soup_known_status_code_get_type" c_soup_known_status_code_get_type :: +    IO GType++instance BoxedEnum KnownStatusCode where+    boxedEnumType _ = c_soup_known_status_code_get_type++-- object Logger +newtype Logger = Logger (ForeignPtr Logger)+noLogger :: Maybe Logger+noLogger = Nothing++foreign import ccall "soup_logger_get_type"+    c_soup_logger_get_type :: IO GType++type instance ParentTypes Logger = '[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++-- 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+    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 ()++-- callback LoggerFilter+loggerFilterClosure :: LoggerFilter -> IO Closure+loggerFilterClosure cb = newCClosure =<< mkLoggerFilter wrapped+    where wrapped = loggerFilterWrapper Nothing cb++type LoggerFilterC =+    Ptr Logger ->+    Ptr Message ->+    Ptr () ->+    IO CUInt++foreign import ccall "wrapper"+    mkLoggerFilter :: LoggerFilterC -> IO (FunPtr LoggerFilterC)++type LoggerFilter =+    Logger ->+    Message ->+    IO LoggerLogLevel++noLoggerFilter :: Maybe LoggerFilter+noLoggerFilter = Nothing++loggerFilterWrapper ::+    Maybe (Ptr (FunPtr (LoggerFilterC))) ->+    LoggerFilter ->+    Ptr Logger ->+    Ptr Message ->+    Ptr () ->+    IO CUInt+loggerFilterWrapper funptrptr _cb logger msg _ = do+    logger' <- (newObject Logger) logger+    msg' <- (newObject Message) msg+    result <- _cb  logger' msg'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- Enum LoggerLogLevel++data LoggerLogLevel = +      LoggerLogLevelNone+    | LoggerLogLevelMinimal+    | LoggerLogLevelHeaders+    | LoggerLogLevelBody+    | AnotherLoggerLogLevel Int+    deriving (Show, Eq)++instance Enum LoggerLogLevel where+    fromEnum LoggerLogLevelNone = 0+    fromEnum LoggerLogLevelMinimal = 1+    fromEnum LoggerLogLevelHeaders = 2+    fromEnum LoggerLogLevelBody = 3+    fromEnum (AnotherLoggerLogLevel k) = k++    toEnum 0 = LoggerLogLevelNone+    toEnum 1 = LoggerLogLevelMinimal+    toEnum 2 = LoggerLogLevelHeaders+    toEnum 3 = LoggerLogLevelBody+    toEnum k = AnotherLoggerLogLevel k++foreign import ccall "soup_logger_log_level_get_type" c_soup_logger_log_level_get_type :: +    IO GType++instance BoxedEnum LoggerLogLevel where+    boxedEnumType _ = c_soup_logger_log_level_get_type++-- callback LoggerPrinter+loggerPrinterClosure :: LoggerPrinter -> IO Closure+loggerPrinterClosure cb = newCClosure =<< mkLoggerPrinter wrapped+    where wrapped = loggerPrinterWrapper Nothing cb++type LoggerPrinterC =+    Ptr Logger ->+    CUInt ->+    Int8 ->+    CString ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkLoggerPrinter :: LoggerPrinterC -> IO (FunPtr LoggerPrinterC)++type LoggerPrinter =+    Logger ->+    LoggerLogLevel ->+    Int8 ->+    T.Text ->+    IO ()++noLoggerPrinter :: Maybe LoggerPrinter+noLoggerPrinter = Nothing++loggerPrinterWrapper ::+    Maybe (Ptr (FunPtr (LoggerPrinterC))) ->+    LoggerPrinter ->+    Ptr Logger ->+    CUInt ->+    Int8 ->+    CString ->+    Ptr () ->+    IO ()+loggerPrinterWrapper funptrptr _cb logger level direction data_ _ = do+    logger' <- (newObject Logger) logger+    let level' = (toEnum . fromIntegral) level+    data_' <- cstringToText data_+    _cb  logger' level' direction data_'+    maybeReleaseFunPtr funptrptr++-- Enum MemoryUse++data MemoryUse = +      MemoryUseStatic+    | MemoryUseTake+    | MemoryUseCopy+    | MemoryUseTemporary+    | AnotherMemoryUse Int+    deriving (Show, Eq)++instance Enum MemoryUse where+    fromEnum MemoryUseStatic = 0+    fromEnum MemoryUseTake = 1+    fromEnum MemoryUseCopy = 2+    fromEnum MemoryUseTemporary = 3+    fromEnum (AnotherMemoryUse k) = k++    toEnum 0 = MemoryUseStatic+    toEnum 1 = MemoryUseTake+    toEnum 2 = MemoryUseCopy+    toEnum 3 = MemoryUseTemporary+    toEnum k = AnotherMemoryUse k++foreign import ccall "soup_memory_use_get_type" c_soup_memory_use_get_type :: +    IO GType++instance BoxedEnum MemoryUse where+    boxedEnumType _ = c_soup_memory_use_get_type++-- object Message +newtype Message = Message (ForeignPtr Message)+noMessage :: Maybe Message+noMessage = Nothing++foreign import ccall "soup_message_get_type"+    c_soup_message_get_type :: IO GType++type instance ParentTypes Message = '[GObject.Object]++instance GObject Message where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_message_get_type+    ++class GObject o => MessageK o+instance (GObject o, IsDescendantOf Message o) => MessageK o++toMessage :: MessageK o => o -> IO Message+toMessage = unsafeCastTo Message++-- method Message::new+-- method type : Constructor+-- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Message"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_new" soup_message_new :: +    CString ->                              -- method : TBasicType TUTF8+    CString ->                              -- uri_string : TBasicType TUTF8+    IO (Ptr Message)+++messageNew ::+    (MonadIO m) =>+    T.Text ->                               -- method+    T.Text ->                               -- uri_string+    m Message+messageNew method uri_string = liftIO $ do+    method' <- textToCString method+    uri_string' <- textToCString uri_string+    result <- soup_message_new method' uri_string'+    result' <- (wrapObject Message) result+    freeMem method'+    freeMem uri_string'+    return result'++-- method Message::new_from_uri+-- method type : Constructor+-- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Message"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_new_from_uri" soup_message_new_from_uri :: +    CString ->                              -- method : TBasicType TUTF8+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    IO (Ptr Message)+++messageNewFromUri ::+    (MonadIO m) =>+    T.Text ->                               -- method+    URI ->                                  -- uri+    m Message+messageNewFromUri method uri = liftIO $ do+    method' <- textToCString method+    let uri' = unsafeManagedPtrGetPtr uri+    result <- soup_message_new_from_uri method' uri'+    result' <- (wrapObject Message) result+    touchManagedPtr uri+    freeMem method'+    return result'++-- method Message::content_sniffed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TVoid) (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TVoid) (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_content_sniffed" soup_message_content_sniffed :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    CString ->                              -- content_type : TBasicType TUTF8+    Ptr (GHashTable (Ptr ()) (Ptr ())) ->   -- params : TGHash (TBasicType TVoid) (TBasicType TVoid)+    IO ()+++messageContentSniffed ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- content_type+    Map.Map (Ptr ()) (Ptr ()) ->            -- params+    m ()+messageContentSniffed _obj content_type params = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    content_type' <- textToCString content_type+    let params' = Map.toList params+    let params'' = mapFirst ptrPackPtr params'+    let params''' = mapSecond ptrPackPtr params''+    params'''' <- packGHashTable gDirectHash gDirectEqual Nothing Nothing params'''+    soup_message_content_sniffed _obj' content_type' params''''+    touchManagedPtr _obj+    freeMem content_type'+    unrefGHashTable params''''+    return ()++-- method Message::disable_feature+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_disable_feature" soup_message_disable_feature :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    CGType ->                               -- feature_type : TBasicType TGType+    IO ()+++messageDisableFeature ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    GType ->                                -- feature_type+    m ()+messageDisableFeature _obj feature_type = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature_type' = gtypeToCGType feature_type+    soup_message_disable_feature _obj' feature_type'+    touchManagedPtr _obj+    return ()++-- method Message::finished+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_finished" soup_message_finished :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageFinished ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageFinished _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_finished _obj'+    touchManagedPtr _obj+    return ()++-- method Message::get_address+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Address"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_get_address" soup_message_get_address :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO (Ptr Address)+++messageGetAddress ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m Address+messageGetAddress _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_message_get_address _obj'+    result' <- (newObject Address) result+    touchManagedPtr _obj+    return result'++-- method Message::get_first_party+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "URI"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_get_first_party" soup_message_get_first_party :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO (Ptr URI)+++messageGetFirstParty ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m URI+messageGetFirstParty _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_message_get_first_party _obj'+    result' <- (newBoxed URI) result+    touchManagedPtr _obj+    return result'++-- method Message::get_flags+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "MessageFlags"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_get_flags" soup_message_get_flags :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO CUInt+++messageGetFlags ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m [MessageFlags]+messageGetFlags _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_message_get_flags _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method Message::get_http_version+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "HTTPVersion"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_get_http_version" soup_message_get_http_version :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO CUInt+++messageGetHttpVersion ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m HTTPVersion+messageGetHttpVersion _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_message_get_http_version _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Message::get_https_status+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "certificate", argType = TInterface "Gio" "TlsCertificate", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "errors", argType = TInterface "Gio" "TlsCertificateFlags", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_get_https_status" soup_message_get_https_status :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    Ptr (Ptr Gio.TlsCertificate) ->         -- certificate : TInterface "Gio" "TlsCertificate"+    Ptr CUInt ->                            -- errors : TInterface "Gio" "TlsCertificateFlags"+    IO CInt+++messageGetHttpsStatus ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m (Bool,Gio.TlsCertificate,[Gio.TlsCertificateFlags])+messageGetHttpsStatus _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    certificate <- allocMem :: IO (Ptr (Ptr Gio.TlsCertificate))+    errors <- allocMem :: IO (Ptr CUInt)+    result <- soup_message_get_https_status _obj' certificate errors+    let result' = (/= 0) result+    certificate' <- peek certificate+    certificate'' <- (newObject Gio.TlsCertificate) certificate'+    errors' <- peek errors+    let errors'' = wordToGFlags errors'+    touchManagedPtr _obj+    freeMem certificate+    freeMem errors+    return (result', certificate'', errors'')++-- method Message::get_priority+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "MessagePriority"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_get_priority" soup_message_get_priority :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO CUInt+++messageGetPriority ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m MessagePriority+messageGetPriority _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_message_get_priority _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Message::get_soup_request+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Request"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_get_soup_request" soup_message_get_soup_request :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO (Ptr Request)+++messageGetSoupRequest ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m Request+messageGetSoupRequest _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_message_get_soup_request _obj'+    result' <- (newObject Request) result+    touchManagedPtr _obj+    return result'++-- method Message::get_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "URI"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_get_uri" soup_message_get_uri :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO (Ptr URI)+++messageGetUri ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m URI+messageGetUri _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_message_get_uri _obj'+    result' <- (newBoxed URI) result+    touchManagedPtr _obj+    return result'++-- method Message::got_body+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_got_body" soup_message_got_body :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageGotBody ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageGotBody _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_got_body _obj'+    touchManagedPtr _obj+    return ()++-- method Message::got_chunk+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_got_chunk" soup_message_got_chunk :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    Ptr Buffer ->                           -- chunk : TInterface "Soup" "Buffer"+    IO ()+++messageGotChunk ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    Buffer ->                               -- chunk+    m ()+messageGotChunk _obj chunk = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let chunk' = unsafeManagedPtrGetPtr chunk+    soup_message_got_chunk _obj' chunk'+    touchManagedPtr _obj+    touchManagedPtr chunk+    return ()++-- method Message::got_headers+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_got_headers" soup_message_got_headers :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageGotHeaders ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageGotHeaders _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_got_headers _obj'+    touchManagedPtr _obj+    return ()++-- method Message::got_informational+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_got_informational" soup_message_got_informational :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageGotInformational ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageGotInformational _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_got_informational _obj'+    touchManagedPtr _obj+    return ()++-- method Message::is_keepalive+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_is_keepalive" soup_message_is_keepalive :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO CInt+++messageIsKeepalive ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m Bool+messageIsKeepalive _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_message_is_keepalive _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Message::restarted+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_restarted" soup_message_restarted :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageRestarted ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageRestarted _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_restarted _obj'+    touchManagedPtr _obj+    return ()++-- method Message::set_chunk_allocator+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "allocator", argType = TInterface "Soup" "ChunkAllocator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "destroy_notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "allocator", argType = TInterface "Soup" "ChunkAllocator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_chunk_allocator" soup_message_set_chunk_allocator :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    FunPtr ChunkAllocatorC ->               -- allocator : TInterface "Soup" "ChunkAllocator"+    Ptr () ->                               -- user_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- destroy_notify : TInterface "GLib" "DestroyNotify"+    IO ()++{-# DEPRECATED messageSetChunkAllocator ["#SoupRequest provides a much simpler API that lets you","read the response directly into your own buffers without needing to","mess with callbacks, pausing/unpausing, etc."]#-}+messageSetChunkAllocator ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    ChunkAllocator ->                       -- allocator+    m ()+messageSetChunkAllocator _obj allocator = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    allocator' <- mkChunkAllocator (chunkAllocatorWrapper Nothing allocator)+    let user_data = castFunPtrToPtr allocator'+    let destroy_notify = safeFreeFunPtrPtr+    soup_message_set_chunk_allocator _obj' allocator' user_data destroy_notify+    touchManagedPtr _obj+    return ()++-- method Message::set_first_party+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_party", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_first_party" soup_message_set_first_party :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    Ptr URI ->                              -- first_party : TInterface "Soup" "URI"+    IO ()+++messageSetFirstParty ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    URI ->                                  -- first_party+    m ()+messageSetFirstParty _obj first_party = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let first_party' = unsafeManagedPtrGetPtr first_party+    soup_message_set_first_party _obj' first_party'+    touchManagedPtr _obj+    touchManagedPtr first_party+    return ()++-- method Message::set_flags+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Soup" "MessageFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Soup" "MessageFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_flags" soup_message_set_flags :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    CUInt ->                                -- flags : TInterface "Soup" "MessageFlags"+    IO ()+++messageSetFlags ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    [MessageFlags] ->                       -- flags+    m ()+messageSetFlags _obj flags = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let flags' = gflagsToWord flags+    soup_message_set_flags _obj' flags'+    touchManagedPtr _obj+    return ()++-- method Message::set_http_version+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TInterface "Soup" "HTTPVersion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TInterface "Soup" "HTTPVersion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_http_version" soup_message_set_http_version :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    CUInt ->                                -- version : TInterface "Soup" "HTTPVersion"+    IO ()+++messageSetHttpVersion ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    HTTPVersion ->                          -- version+    m ()+messageSetHttpVersion _obj version = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let version' = (fromIntegral . fromEnum) version+    soup_message_set_http_version _obj' version'+    touchManagedPtr _obj+    return ()++-- method Message::set_priority+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "priority", argType = TInterface "Soup" "MessagePriority", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "priority", argType = TInterface "Soup" "MessagePriority", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_priority" soup_message_set_priority :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    CUInt ->                                -- priority : TInterface "Soup" "MessagePriority"+    IO ()+++messageSetPriority ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    MessagePriority ->                      -- priority+    m ()+messageSetPriority _obj priority = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let priority' = (fromIntegral . fromEnum) priority+    soup_message_set_priority _obj' priority'+    touchManagedPtr _obj+    return ()++-- method Message::set_redirect+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "redirect_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "redirect_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_redirect" soup_message_set_redirect :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    Word32 ->                               -- status_code : TBasicType TUInt32+    CString ->                              -- redirect_uri : TBasicType TUTF8+    IO ()+++messageSetRedirect ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- status_code+    T.Text ->                               -- redirect_uri+    m ()+messageSetRedirect _obj status_code redirect_uri = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    redirect_uri' <- textToCString redirect_uri+    soup_message_set_redirect _obj' status_code redirect_uri'+    touchManagedPtr _obj+    freeMem redirect_uri'+    return ()++-- method Message::set_request+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "req_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_request" soup_message_set_request :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    CString ->                              -- content_type : TBasicType TUTF8+    CUInt ->                                -- req_use : TInterface "Soup" "MemoryUse"+    Ptr Word8 ->                            -- req_body : TCArray False (-1) 4 (TBasicType TUInt8)+    Word64 ->                               -- req_length : TBasicType TUInt64+    IO ()+++messageSetRequest ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    Maybe (T.Text) ->                       -- content_type+    MemoryUse ->                            -- req_use+    Maybe (ByteString) ->                   -- req_body+    m ()+messageSetRequest _obj content_type req_use req_body = liftIO $ do+    let req_length = case req_body of+            Nothing -> 0+            Just jReq_body -> fromIntegral $ B.length jReq_body+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeContent_type <- case content_type of+        Nothing -> return nullPtr+        Just jContent_type -> do+            jContent_type' <- textToCString jContent_type+            return jContent_type'+    let req_use' = (fromIntegral . fromEnum) req_use+    maybeReq_body <- case req_body of+        Nothing -> return nullPtr+        Just jReq_body -> do+            jReq_body' <- packByteString jReq_body+            return jReq_body'+    soup_message_set_request _obj' maybeContent_type req_use' maybeReq_body req_length+    touchManagedPtr _obj+    freeMem maybeContent_type+    freeMem maybeReq_body+    return ()++-- method Message::set_response+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "resp_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_use", argType = TInterface "Soup" "MemoryUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "resp_body", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_response" soup_message_set_response :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    CString ->                              -- content_type : TBasicType TUTF8+    CUInt ->                                -- resp_use : TInterface "Soup" "MemoryUse"+    Ptr Word8 ->                            -- resp_body : TCArray False (-1) 4 (TBasicType TUInt8)+    Word64 ->                               -- resp_length : TBasicType TUInt64+    IO ()+++messageSetResponse ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    Maybe (T.Text) ->                       -- content_type+    MemoryUse ->                            -- resp_use+    Maybe (ByteString) ->                   -- resp_body+    m ()+messageSetResponse _obj content_type resp_use resp_body = liftIO $ do+    let resp_length = case resp_body of+            Nothing -> 0+            Just jResp_body -> fromIntegral $ B.length jResp_body+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeContent_type <- case content_type of+        Nothing -> return nullPtr+        Just jContent_type -> do+            jContent_type' <- textToCString jContent_type+            return jContent_type'+    let resp_use' = (fromIntegral . fromEnum) resp_use+    maybeResp_body <- case resp_body of+        Nothing -> return nullPtr+        Just jResp_body -> do+            jResp_body' <- packByteString jResp_body+            return jResp_body'+    soup_message_set_response _obj' maybeContent_type resp_use' maybeResp_body resp_length+    touchManagedPtr _obj+    freeMem maybeContent_type+    freeMem maybeResp_body+    return ()++-- method Message::set_status+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_status" soup_message_set_status :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    Word32 ->                               -- status_code : TBasicType TUInt32+    IO ()+++messageSetStatus ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- status_code+    m ()+messageSetStatus _obj status_code = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_set_status _obj' status_code+    touchManagedPtr _obj+    return ()++-- method Message::set_status_full+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_status_full" soup_message_set_status_full :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    Word32 ->                               -- status_code : TBasicType TUInt32+    CString ->                              -- reason_phrase : TBasicType TUTF8+    IO ()+++messageSetStatusFull ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- status_code+    T.Text ->                               -- reason_phrase+    m ()+messageSetStatusFull _obj status_code reason_phrase = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    reason_phrase' <- textToCString reason_phrase+    soup_message_set_status_full _obj' status_code reason_phrase'+    touchManagedPtr _obj+    freeMem reason_phrase'+    return ()++-- method Message::set_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_set_uri" soup_message_set_uri :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    IO ()+++messageSetUri ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    m ()+messageSetUri _obj uri = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    soup_message_set_uri _obj' uri'+    touchManagedPtr _obj+    touchManagedPtr uri+    return ()++-- method Message::starting+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_starting" soup_message_starting :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageStarting ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageStarting _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_starting _obj'+    touchManagedPtr _obj+    return ()++-- method Message::wrote_body+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_wrote_body" soup_message_wrote_body :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageWroteBody ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageWroteBody _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_wrote_body _obj'+    touchManagedPtr _obj+    return ()++-- method Message::wrote_body_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_wrote_body_data" soup_message_wrote_body_data :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    Ptr Buffer ->                           -- chunk : TInterface "Soup" "Buffer"+    IO ()+++messageWroteBodyData ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    Buffer ->                               -- chunk+    m ()+messageWroteBodyData _obj chunk = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let chunk' = unsafeManagedPtrGetPtr chunk+    soup_message_wrote_body_data _obj' chunk'+    touchManagedPtr _obj+    touchManagedPtr chunk+    return ()++-- method Message::wrote_chunk+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_wrote_chunk" soup_message_wrote_chunk :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageWroteChunk ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageWroteChunk _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_wrote_chunk _obj'+    touchManagedPtr _obj+    return ()++-- method Message::wrote_headers+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_wrote_headers" soup_message_wrote_headers :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageWroteHeaders ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageWroteHeaders _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_wrote_headers _obj'+    touchManagedPtr _obj+    return ()++-- method Message::wrote_informational+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_wrote_informational" soup_message_wrote_informational :: +    Ptr Message ->                          -- _obj : TInterface "Soup" "Message"+    IO ()+++messageWroteInformational ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- _obj+    m ()+messageWroteInformational _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_message_wrote_informational _obj'+    touchManagedPtr _obj+    return ()++-- signal Message::content-sniffed+type MessageContentSniffedCallback =+    T.Text ->+    Map.Map T.Text T.Text ->+    IO ()++noMessageContentSniffedCallback :: Maybe MessageContentSniffedCallback+noMessageContentSniffedCallback = Nothing++type MessageContentSniffedCallbackC =+    Ptr () ->                               -- object+    CString ->+    Ptr (GHashTable CString CString) ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageContentSniffedCallback :: MessageContentSniffedCallbackC -> IO (FunPtr MessageContentSniffedCallbackC)++messageContentSniffedClosure :: MessageContentSniffedCallback -> IO Closure+messageContentSniffedClosure cb = newCClosure =<< mkMessageContentSniffedCallback wrapped+    where wrapped = messageContentSniffedCallbackWrapper cb++messageContentSniffedCallbackWrapper ::+    MessageContentSniffedCallback ->+    Ptr () ->+    CString ->+    Ptr (GHashTable CString CString) ->+    Ptr () ->+    IO ()+messageContentSniffedCallbackWrapper _cb _ type_ params _ = do+    type_' <- cstringToText type_+    params' <- unpackGHashTable params+    let params'' = mapFirst cstringUnpackPtr params'+    params''' <- mapFirstA cstringToText params''+    let params'''' = mapSecond cstringUnpackPtr params'''+    params''''' <- mapSecondA cstringToText params''''+    let params'''''' = Map.fromList params'''''+    _cb  type_' params''''''++onMessageContentSniffed :: (GObject a, MonadIO m) => a -> MessageContentSniffedCallback -> m SignalHandlerId+onMessageContentSniffed obj cb = liftIO $ connectMessageContentSniffed obj cb SignalConnectBefore+afterMessageContentSniffed :: (GObject a, MonadIO m) => a -> MessageContentSniffedCallback -> m SignalHandlerId+afterMessageContentSniffed obj cb = connectMessageContentSniffed obj cb SignalConnectAfter++connectMessageContentSniffed :: (GObject a, MonadIO m) =>+                                a -> MessageContentSniffedCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageContentSniffed obj cb after = liftIO $ do+    cb' <- mkMessageContentSniffedCallback (messageContentSniffedCallbackWrapper cb)+    connectSignalFunPtr obj "content-sniffed" cb' after++-- signal Message::finished+type MessageFinishedCallback =+    IO ()++noMessageFinishedCallback :: Maybe MessageFinishedCallback+noMessageFinishedCallback = Nothing++type MessageFinishedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageFinishedCallback :: MessageFinishedCallbackC -> IO (FunPtr MessageFinishedCallbackC)++messageFinishedClosure :: MessageFinishedCallback -> IO Closure+messageFinishedClosure cb = newCClosure =<< mkMessageFinishedCallback wrapped+    where wrapped = messageFinishedCallbackWrapper cb++messageFinishedCallbackWrapper ::+    MessageFinishedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageFinishedCallbackWrapper _cb _ _ = do+    _cb ++onMessageFinished :: (GObject a, MonadIO m) => a -> MessageFinishedCallback -> m SignalHandlerId+onMessageFinished obj cb = liftIO $ connectMessageFinished obj cb SignalConnectBefore+afterMessageFinished :: (GObject a, MonadIO m) => a -> MessageFinishedCallback -> m SignalHandlerId+afterMessageFinished obj cb = connectMessageFinished obj cb SignalConnectAfter++connectMessageFinished :: (GObject a, MonadIO m) =>+                          a -> MessageFinishedCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageFinished obj cb after = liftIO $ do+    cb' <- mkMessageFinishedCallback (messageFinishedCallbackWrapper cb)+    connectSignalFunPtr obj "finished" cb' after++-- signal Message::got-body+type MessageGotBodyCallback =+    IO ()++noMessageGotBodyCallback :: Maybe MessageGotBodyCallback+noMessageGotBodyCallback = Nothing++type MessageGotBodyCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageGotBodyCallback :: MessageGotBodyCallbackC -> IO (FunPtr MessageGotBodyCallbackC)++messageGotBodyClosure :: MessageGotBodyCallback -> IO Closure+messageGotBodyClosure cb = newCClosure =<< mkMessageGotBodyCallback wrapped+    where wrapped = messageGotBodyCallbackWrapper cb++messageGotBodyCallbackWrapper ::+    MessageGotBodyCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageGotBodyCallbackWrapper _cb _ _ = do+    _cb ++onMessageGotBody :: (GObject a, MonadIO m) => a -> MessageGotBodyCallback -> m SignalHandlerId+onMessageGotBody obj cb = liftIO $ connectMessageGotBody obj cb SignalConnectBefore+afterMessageGotBody :: (GObject a, MonadIO m) => a -> MessageGotBodyCallback -> m SignalHandlerId+afterMessageGotBody obj cb = connectMessageGotBody obj cb SignalConnectAfter++connectMessageGotBody :: (GObject a, MonadIO m) =>+                         a -> MessageGotBodyCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageGotBody obj cb after = liftIO $ do+    cb' <- mkMessageGotBodyCallback (messageGotBodyCallbackWrapper cb)+    connectSignalFunPtr obj "got-body" cb' after++-- signal Message::got-chunk+type MessageGotChunkCallback =+    Buffer ->+    IO ()++noMessageGotChunkCallback :: Maybe MessageGotChunkCallback+noMessageGotChunkCallback = Nothing++type MessageGotChunkCallbackC =+    Ptr () ->                               -- object+    Ptr Buffer ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageGotChunkCallback :: MessageGotChunkCallbackC -> IO (FunPtr MessageGotChunkCallbackC)++messageGotChunkClosure :: MessageGotChunkCallback -> IO Closure+messageGotChunkClosure cb = newCClosure =<< mkMessageGotChunkCallback wrapped+    where wrapped = messageGotChunkCallbackWrapper cb++messageGotChunkCallbackWrapper ::+    MessageGotChunkCallback ->+    Ptr () ->+    Ptr Buffer ->+    Ptr () ->+    IO ()+messageGotChunkCallbackWrapper _cb _ chunk _ = do+    chunk' <- (newBoxed Buffer) chunk+    _cb  chunk'++onMessageGotChunk :: (GObject a, MonadIO m) => a -> MessageGotChunkCallback -> m SignalHandlerId+onMessageGotChunk obj cb = liftIO $ connectMessageGotChunk obj cb SignalConnectBefore+afterMessageGotChunk :: (GObject a, MonadIO m) => a -> MessageGotChunkCallback -> m SignalHandlerId+afterMessageGotChunk obj cb = connectMessageGotChunk obj cb SignalConnectAfter++connectMessageGotChunk :: (GObject a, MonadIO m) =>+                          a -> MessageGotChunkCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageGotChunk obj cb after = liftIO $ do+    cb' <- mkMessageGotChunkCallback (messageGotChunkCallbackWrapper cb)+    connectSignalFunPtr obj "got-chunk" cb' after++-- signal Message::got-headers+type MessageGotHeadersCallback =+    IO ()++noMessageGotHeadersCallback :: Maybe MessageGotHeadersCallback+noMessageGotHeadersCallback = Nothing++type MessageGotHeadersCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageGotHeadersCallback :: MessageGotHeadersCallbackC -> IO (FunPtr MessageGotHeadersCallbackC)++messageGotHeadersClosure :: MessageGotHeadersCallback -> IO Closure+messageGotHeadersClosure cb = newCClosure =<< mkMessageGotHeadersCallback wrapped+    where wrapped = messageGotHeadersCallbackWrapper cb++messageGotHeadersCallbackWrapper ::+    MessageGotHeadersCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageGotHeadersCallbackWrapper _cb _ _ = do+    _cb ++onMessageGotHeaders :: (GObject a, MonadIO m) => a -> MessageGotHeadersCallback -> m SignalHandlerId+onMessageGotHeaders obj cb = liftIO $ connectMessageGotHeaders obj cb SignalConnectBefore+afterMessageGotHeaders :: (GObject a, MonadIO m) => a -> MessageGotHeadersCallback -> m SignalHandlerId+afterMessageGotHeaders obj cb = connectMessageGotHeaders obj cb SignalConnectAfter++connectMessageGotHeaders :: (GObject a, MonadIO m) =>+                            a -> MessageGotHeadersCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageGotHeaders obj cb after = liftIO $ do+    cb' <- mkMessageGotHeadersCallback (messageGotHeadersCallbackWrapper cb)+    connectSignalFunPtr obj "got-headers" cb' after++-- signal Message::got-informational+type MessageGotInformationalCallback =+    IO ()++noMessageGotInformationalCallback :: Maybe MessageGotInformationalCallback+noMessageGotInformationalCallback = Nothing++type MessageGotInformationalCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageGotInformationalCallback :: MessageGotInformationalCallbackC -> IO (FunPtr MessageGotInformationalCallbackC)++messageGotInformationalClosure :: MessageGotInformationalCallback -> IO Closure+messageGotInformationalClosure cb = newCClosure =<< mkMessageGotInformationalCallback wrapped+    where wrapped = messageGotInformationalCallbackWrapper cb++messageGotInformationalCallbackWrapper ::+    MessageGotInformationalCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageGotInformationalCallbackWrapper _cb _ _ = do+    _cb ++onMessageGotInformational :: (GObject a, MonadIO m) => a -> MessageGotInformationalCallback -> m SignalHandlerId+onMessageGotInformational obj cb = liftIO $ connectMessageGotInformational obj cb SignalConnectBefore+afterMessageGotInformational :: (GObject a, MonadIO m) => a -> MessageGotInformationalCallback -> m SignalHandlerId+afterMessageGotInformational obj cb = connectMessageGotInformational obj cb SignalConnectAfter++connectMessageGotInformational :: (GObject a, MonadIO m) =>+                                  a -> MessageGotInformationalCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageGotInformational obj cb after = liftIO $ do+    cb' <- mkMessageGotInformationalCallback (messageGotInformationalCallbackWrapper cb)+    connectSignalFunPtr obj "got-informational" cb' after++-- signal Message::network-event+type MessageNetworkEventCallback =+    Gio.SocketClientEvent ->+    Gio.IOStream ->+    IO ()++noMessageNetworkEventCallback :: Maybe MessageNetworkEventCallback+noMessageNetworkEventCallback = Nothing++type MessageNetworkEventCallbackC =+    Ptr () ->                               -- object+    CUInt ->+    Ptr Gio.IOStream ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageNetworkEventCallback :: MessageNetworkEventCallbackC -> IO (FunPtr MessageNetworkEventCallbackC)++messageNetworkEventClosure :: MessageNetworkEventCallback -> IO Closure+messageNetworkEventClosure cb = newCClosure =<< mkMessageNetworkEventCallback wrapped+    where wrapped = messageNetworkEventCallbackWrapper cb++messageNetworkEventCallbackWrapper ::+    MessageNetworkEventCallback ->+    Ptr () ->+    CUInt ->+    Ptr Gio.IOStream ->+    Ptr () ->+    IO ()+messageNetworkEventCallbackWrapper _cb _ event connection _ = do+    let event' = (toEnum . fromIntegral) event+    connection' <- (newObject Gio.IOStream) connection+    _cb  event' connection'++onMessageNetworkEvent :: (GObject a, MonadIO m) => a -> MessageNetworkEventCallback -> m SignalHandlerId+onMessageNetworkEvent obj cb = liftIO $ connectMessageNetworkEvent obj cb SignalConnectBefore+afterMessageNetworkEvent :: (GObject a, MonadIO m) => a -> MessageNetworkEventCallback -> m SignalHandlerId+afterMessageNetworkEvent obj cb = connectMessageNetworkEvent obj cb SignalConnectAfter++connectMessageNetworkEvent :: (GObject a, MonadIO m) =>+                              a -> MessageNetworkEventCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageNetworkEvent obj cb after = liftIO $ do+    cb' <- mkMessageNetworkEventCallback (messageNetworkEventCallbackWrapper cb)+    connectSignalFunPtr obj "network-event" cb' after++-- signal Message::restarted+type MessageRestartedCallback =+    IO ()++noMessageRestartedCallback :: Maybe MessageRestartedCallback+noMessageRestartedCallback = Nothing++type MessageRestartedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageRestartedCallback :: MessageRestartedCallbackC -> IO (FunPtr MessageRestartedCallbackC)++messageRestartedClosure :: MessageRestartedCallback -> IO Closure+messageRestartedClosure cb = newCClosure =<< mkMessageRestartedCallback wrapped+    where wrapped = messageRestartedCallbackWrapper cb++messageRestartedCallbackWrapper ::+    MessageRestartedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageRestartedCallbackWrapper _cb _ _ = do+    _cb ++onMessageRestarted :: (GObject a, MonadIO m) => a -> MessageRestartedCallback -> m SignalHandlerId+onMessageRestarted obj cb = liftIO $ connectMessageRestarted obj cb SignalConnectBefore+afterMessageRestarted :: (GObject a, MonadIO m) => a -> MessageRestartedCallback -> m SignalHandlerId+afterMessageRestarted obj cb = connectMessageRestarted obj cb SignalConnectAfter++connectMessageRestarted :: (GObject a, MonadIO m) =>+                           a -> MessageRestartedCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageRestarted obj cb after = liftIO $ do+    cb' <- mkMessageRestartedCallback (messageRestartedCallbackWrapper cb)+    connectSignalFunPtr obj "restarted" cb' after++-- signal Message::starting+type MessageStartingCallback =+    IO ()++noMessageStartingCallback :: Maybe MessageStartingCallback+noMessageStartingCallback = Nothing++type MessageStartingCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageStartingCallback :: MessageStartingCallbackC -> IO (FunPtr MessageStartingCallbackC)++messageStartingClosure :: MessageStartingCallback -> IO Closure+messageStartingClosure cb = newCClosure =<< mkMessageStartingCallback wrapped+    where wrapped = messageStartingCallbackWrapper cb++messageStartingCallbackWrapper ::+    MessageStartingCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageStartingCallbackWrapper _cb _ _ = do+    _cb ++onMessageStarting :: (GObject a, MonadIO m) => a -> MessageStartingCallback -> m SignalHandlerId+onMessageStarting obj cb = liftIO $ connectMessageStarting obj cb SignalConnectBefore+afterMessageStarting :: (GObject a, MonadIO m) => a -> MessageStartingCallback -> m SignalHandlerId+afterMessageStarting obj cb = connectMessageStarting obj cb SignalConnectAfter++connectMessageStarting :: (GObject a, MonadIO m) =>+                          a -> MessageStartingCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageStarting obj cb after = liftIO $ do+    cb' <- mkMessageStartingCallback (messageStartingCallbackWrapper cb)+    connectSignalFunPtr obj "starting" cb' after++-- signal Message::wrote-body+type MessageWroteBodyCallback =+    IO ()++noMessageWroteBodyCallback :: Maybe MessageWroteBodyCallback+noMessageWroteBodyCallback = Nothing++type MessageWroteBodyCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageWroteBodyCallback :: MessageWroteBodyCallbackC -> IO (FunPtr MessageWroteBodyCallbackC)++messageWroteBodyClosure :: MessageWroteBodyCallback -> IO Closure+messageWroteBodyClosure cb = newCClosure =<< mkMessageWroteBodyCallback wrapped+    where wrapped = messageWroteBodyCallbackWrapper cb++messageWroteBodyCallbackWrapper ::+    MessageWroteBodyCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageWroteBodyCallbackWrapper _cb _ _ = do+    _cb ++onMessageWroteBody :: (GObject a, MonadIO m) => a -> MessageWroteBodyCallback -> m SignalHandlerId+onMessageWroteBody obj cb = liftIO $ connectMessageWroteBody obj cb SignalConnectBefore+afterMessageWroteBody :: (GObject a, MonadIO m) => a -> MessageWroteBodyCallback -> m SignalHandlerId+afterMessageWroteBody obj cb = connectMessageWroteBody obj cb SignalConnectAfter++connectMessageWroteBody :: (GObject a, MonadIO m) =>+                           a -> MessageWroteBodyCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageWroteBody obj cb after = liftIO $ do+    cb' <- mkMessageWroteBodyCallback (messageWroteBodyCallbackWrapper cb)+    connectSignalFunPtr obj "wrote-body" cb' after++-- signal Message::wrote-body-data+type MessageWroteBodyDataCallback =+    Buffer ->+    IO ()++noMessageWroteBodyDataCallback :: Maybe MessageWroteBodyDataCallback+noMessageWroteBodyDataCallback = Nothing++type MessageWroteBodyDataCallbackC =+    Ptr () ->                               -- object+    Ptr Buffer ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageWroteBodyDataCallback :: MessageWroteBodyDataCallbackC -> IO (FunPtr MessageWroteBodyDataCallbackC)++messageWroteBodyDataClosure :: MessageWroteBodyDataCallback -> IO Closure+messageWroteBodyDataClosure cb = newCClosure =<< mkMessageWroteBodyDataCallback wrapped+    where wrapped = messageWroteBodyDataCallbackWrapper cb++messageWroteBodyDataCallbackWrapper ::+    MessageWroteBodyDataCallback ->+    Ptr () ->+    Ptr Buffer ->+    Ptr () ->+    IO ()+messageWroteBodyDataCallbackWrapper _cb _ chunk _ = do+    chunk' <- (newBoxed Buffer) chunk+    _cb  chunk'++onMessageWroteBodyData :: (GObject a, MonadIO m) => a -> MessageWroteBodyDataCallback -> m SignalHandlerId+onMessageWroteBodyData obj cb = liftIO $ connectMessageWroteBodyData obj cb SignalConnectBefore+afterMessageWroteBodyData :: (GObject a, MonadIO m) => a -> MessageWroteBodyDataCallback -> m SignalHandlerId+afterMessageWroteBodyData obj cb = connectMessageWroteBodyData obj cb SignalConnectAfter++connectMessageWroteBodyData :: (GObject a, MonadIO m) =>+                               a -> MessageWroteBodyDataCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageWroteBodyData obj cb after = liftIO $ do+    cb' <- mkMessageWroteBodyDataCallback (messageWroteBodyDataCallbackWrapper cb)+    connectSignalFunPtr obj "wrote-body-data" cb' after++-- signal Message::wrote-chunk+type MessageWroteChunkCallback =+    IO ()++noMessageWroteChunkCallback :: Maybe MessageWroteChunkCallback+noMessageWroteChunkCallback = Nothing++type MessageWroteChunkCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageWroteChunkCallback :: MessageWroteChunkCallbackC -> IO (FunPtr MessageWroteChunkCallbackC)++messageWroteChunkClosure :: MessageWroteChunkCallback -> IO Closure+messageWroteChunkClosure cb = newCClosure =<< mkMessageWroteChunkCallback wrapped+    where wrapped = messageWroteChunkCallbackWrapper cb++messageWroteChunkCallbackWrapper ::+    MessageWroteChunkCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageWroteChunkCallbackWrapper _cb _ _ = do+    _cb ++onMessageWroteChunk :: (GObject a, MonadIO m) => a -> MessageWroteChunkCallback -> m SignalHandlerId+onMessageWroteChunk obj cb = liftIO $ connectMessageWroteChunk obj cb SignalConnectBefore+afterMessageWroteChunk :: (GObject a, MonadIO m) => a -> MessageWroteChunkCallback -> m SignalHandlerId+afterMessageWroteChunk obj cb = connectMessageWroteChunk obj cb SignalConnectAfter++connectMessageWroteChunk :: (GObject a, MonadIO m) =>+                            a -> MessageWroteChunkCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageWroteChunk obj cb after = liftIO $ do+    cb' <- mkMessageWroteChunkCallback (messageWroteChunkCallbackWrapper cb)+    connectSignalFunPtr obj "wrote-chunk" cb' after++-- signal Message::wrote-headers+type MessageWroteHeadersCallback =+    IO ()++noMessageWroteHeadersCallback :: Maybe MessageWroteHeadersCallback+noMessageWroteHeadersCallback = Nothing++type MessageWroteHeadersCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageWroteHeadersCallback :: MessageWroteHeadersCallbackC -> IO (FunPtr MessageWroteHeadersCallbackC)++messageWroteHeadersClosure :: MessageWroteHeadersCallback -> IO Closure+messageWroteHeadersClosure cb = newCClosure =<< mkMessageWroteHeadersCallback wrapped+    where wrapped = messageWroteHeadersCallbackWrapper cb++messageWroteHeadersCallbackWrapper ::+    MessageWroteHeadersCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageWroteHeadersCallbackWrapper _cb _ _ = do+    _cb ++onMessageWroteHeaders :: (GObject a, MonadIO m) => a -> MessageWroteHeadersCallback -> m SignalHandlerId+onMessageWroteHeaders obj cb = liftIO $ connectMessageWroteHeaders obj cb SignalConnectBefore+afterMessageWroteHeaders :: (GObject a, MonadIO m) => a -> MessageWroteHeadersCallback -> m SignalHandlerId+afterMessageWroteHeaders obj cb = connectMessageWroteHeaders obj cb SignalConnectAfter++connectMessageWroteHeaders :: (GObject a, MonadIO m) =>+                              a -> MessageWroteHeadersCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageWroteHeaders obj cb after = liftIO $ do+    cb' <- mkMessageWroteHeadersCallback (messageWroteHeadersCallbackWrapper cb)+    connectSignalFunPtr obj "wrote-headers" cb' after++-- signal Message::wrote-informational+type MessageWroteInformationalCallback =+    IO ()++noMessageWroteInformationalCallback :: Maybe MessageWroteInformationalCallback+noMessageWroteInformationalCallback = Nothing++type MessageWroteInformationalCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkMessageWroteInformationalCallback :: MessageWroteInformationalCallbackC -> IO (FunPtr MessageWroteInformationalCallbackC)++messageWroteInformationalClosure :: MessageWroteInformationalCallback -> IO Closure+messageWroteInformationalClosure cb = newCClosure =<< mkMessageWroteInformationalCallback wrapped+    where wrapped = messageWroteInformationalCallbackWrapper cb++messageWroteInformationalCallbackWrapper ::+    MessageWroteInformationalCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+messageWroteInformationalCallbackWrapper _cb _ _ = do+    _cb ++onMessageWroteInformational :: (GObject a, MonadIO m) => a -> MessageWroteInformationalCallback -> m SignalHandlerId+onMessageWroteInformational obj cb = liftIO $ connectMessageWroteInformational obj cb SignalConnectBefore+afterMessageWroteInformational :: (GObject a, MonadIO m) => a -> MessageWroteInformationalCallback -> m SignalHandlerId+afterMessageWroteInformational obj cb = connectMessageWroteInformational obj cb SignalConnectAfter++connectMessageWroteInformational :: (GObject a, MonadIO m) =>+                                    a -> MessageWroteInformationalCallback -> SignalConnectMode -> m SignalHandlerId+connectMessageWroteInformational obj cb after = liftIO $ do+    cb' <- mkMessageWroteInformationalCallback (messageWroteInformationalCallbackWrapper cb)+    connectSignalFunPtr obj "wrote-informational" cb' after++-- struct MessageBody+newtype MessageBody = MessageBody (ForeignPtr MessageBody)+noMessageBody :: Maybe MessageBody+noMessageBody = Nothing++foreign import ccall "soup_message_body_get_type" c_soup_message_body_get_type :: +    IO GType++instance BoxedObject MessageBody where+    boxedType _ = c_soup_message_body_get_type++messageBodyReadData :: MessageBody -> IO T.Text+messageBodyReadData s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CString+    val' <- cstringToText val+    return val'++messageBodyReadLength :: MessageBody -> IO Int64+messageBodyReadLength s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int64+    return val++-- method MessageBody::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Soup" "MessageBody"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_new" soup_message_body_new :: +    IO (Ptr MessageBody)+++messageBodyNew ::+    (MonadIO m) =>+    m MessageBody+messageBodyNew  = liftIO $ do+    result <- soup_message_body_new+    result' <- (wrapBoxed MessageBody) result+    return result'++-- method MessageBody::append_buffer+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_append_buffer" soup_message_body_append_buffer :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    Ptr Buffer ->                           -- buffer : TInterface "Soup" "Buffer"+    IO ()+++messageBodyAppendBuffer ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    Buffer ->                               -- buffer+    m ()+messageBodyAppendBuffer _obj buffer = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let buffer' = unsafeManagedPtrGetPtr buffer+    soup_message_body_append_buffer _obj' buffer'+    touchManagedPtr _obj+    touchManagedPtr buffer+    return ()++-- method MessageBody::append+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_append_take" soup_message_body_append_take :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)+    Word64 ->                               -- length : TBasicType TUInt64+    IO ()+++messageBodyAppend ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    ByteString ->                           -- data+    m ()+messageBodyAppend _obj data_ = liftIO $ do+    let length_ = fromIntegral $ B.length data_+    let _obj' = unsafeManagedPtrGetPtr _obj+    data_' <- packByteString data_+    soup_message_body_append_take _obj' data_' length_+    touchManagedPtr _obj+    return ()++-- method MessageBody::complete+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_complete" soup_message_body_complete :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    IO ()+++messageBodyComplete ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    m ()+messageBodyComplete _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_body_complete _obj'+    touchManagedPtr _obj+    return ()++-- method MessageBody::flatten+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_flatten" soup_message_body_flatten :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    IO (Ptr Buffer)+++messageBodyFlatten ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    m Buffer+messageBodyFlatten _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_message_body_flatten _obj'+    result' <- (wrapBoxed Buffer) result+    touchManagedPtr _obj+    return result'++-- method MessageBody::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_free" soup_message_body_free :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    IO ()+++messageBodyFree ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    m ()+messageBodyFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_body_free _obj'+    touchManagedPtr _obj+    return ()++-- method MessageBody::get_accumulate+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_get_accumulate" soup_message_body_get_accumulate :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    IO CInt+++messageBodyGetAccumulate ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    m Bool+messageBodyGetAccumulate _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_message_body_get_accumulate _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method MessageBody::get_chunk+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Buffer"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_get_chunk" soup_message_body_get_chunk :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    Int64 ->                                -- offset : TBasicType TInt64+    IO (Ptr Buffer)+++messageBodyGetChunk ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    Int64 ->                                -- offset+    m Buffer+messageBodyGetChunk _obj offset = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_message_body_get_chunk _obj' offset+    result' <- (wrapBoxed Buffer) result+    touchManagedPtr _obj+    return result'++-- method MessageBody::got_chunk+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_got_chunk" soup_message_body_got_chunk :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    Ptr Buffer ->                           -- chunk : TInterface "Soup" "Buffer"+    IO ()+++messageBodyGotChunk ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    Buffer ->                               -- chunk+    m ()+messageBodyGotChunk _obj chunk = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let chunk' = unsafeManagedPtrGetPtr chunk+    soup_message_body_got_chunk _obj' chunk'+    touchManagedPtr _obj+    touchManagedPtr chunk+    return ()++-- method MessageBody::set_accumulate+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accumulate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accumulate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_set_accumulate" soup_message_body_set_accumulate :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    CInt ->                                 -- accumulate : TBasicType TBoolean+    IO ()+++messageBodySetAccumulate ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    Bool ->                                 -- accumulate+    m ()+messageBodySetAccumulate _obj accumulate = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let accumulate' = (fromIntegral . fromEnum) accumulate+    soup_message_body_set_accumulate _obj' accumulate'+    touchManagedPtr _obj+    return ()++-- method MessageBody::truncate+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_truncate" soup_message_body_truncate :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    IO ()+++messageBodyTruncate ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    m ()+messageBodyTruncate _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_body_truncate _obj'+    touchManagedPtr _obj+    return ()++-- method MessageBody::wrote_chunk+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "chunk", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_body_wrote_chunk" soup_message_body_wrote_chunk :: +    Ptr MessageBody ->                      -- _obj : TInterface "Soup" "MessageBody"+    Ptr Buffer ->                           -- chunk : TInterface "Soup" "Buffer"+    IO ()+++messageBodyWroteChunk ::+    (MonadIO m) =>+    MessageBody ->                          -- _obj+    Buffer ->                               -- chunk+    m ()+messageBodyWroteChunk _obj chunk = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let chunk' = unsafeManagedPtrGetPtr chunk+    soup_message_body_wrote_chunk _obj' chunk'+    touchManagedPtr _obj+    touchManagedPtr chunk+    return ()++-- Flags MessageFlags++data MessageFlags = +      MessageFlagsNoRedirect+    | MessageFlagsCanRebuild+    | MessageFlagsOverwriteChunks+    | MessageFlagsContentDecoded+    | MessageFlagsCertificateTrusted+    | MessageFlagsNewConnection+    | MessageFlagsIdempotent+    | MessageFlagsIgnoreConnectionLimits+    | AnotherMessageFlags Int+    deriving (Show, Eq)++instance Enum MessageFlags where+    fromEnum MessageFlagsNoRedirect = 2+    fromEnum MessageFlagsCanRebuild = 4+    fromEnum MessageFlagsOverwriteChunks = 8+    fromEnum MessageFlagsContentDecoded = 16+    fromEnum MessageFlagsCertificateTrusted = 32+    fromEnum MessageFlagsNewConnection = 64+    fromEnum MessageFlagsIdempotent = 128+    fromEnum MessageFlagsIgnoreConnectionLimits = 256+    fromEnum (AnotherMessageFlags k) = k++    toEnum 2 = MessageFlagsNoRedirect+    toEnum 4 = MessageFlagsCanRebuild+    toEnum 8 = MessageFlagsOverwriteChunks+    toEnum 16 = MessageFlagsContentDecoded+    toEnum 32 = MessageFlagsCertificateTrusted+    toEnum 64 = MessageFlagsNewConnection+    toEnum 128 = MessageFlagsIdempotent+    toEnum 256 = MessageFlagsIgnoreConnectionLimits+    toEnum k = AnotherMessageFlags k++foreign import ccall "soup_message_flags_get_type" c_soup_message_flags_get_type :: +    IO GType++instance BoxedEnum MessageFlags where+    boxedEnumType _ = c_soup_message_flags_get_type++instance IsGFlag MessageFlags++-- struct MessageHeaders+newtype MessageHeaders = MessageHeaders (ForeignPtr MessageHeaders)+noMessageHeaders :: Maybe MessageHeaders+noMessageHeaders = Nothing++foreign import ccall "soup_message_headers_get_type" c_soup_message_headers_get_type :: +    IO GType++instance BoxedObject MessageHeaders where+    boxedType _ = c_soup_message_headers_get_type++-- method MessageHeaders::new+-- method type : Constructor+-- Args : [Arg {argName = "type", argType = TInterface "Soup" "MessageHeadersType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TInterface "Soup" "MessageHeadersType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "MessageHeaders"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_new" soup_message_headers_new :: +    CUInt ->                                -- type : TInterface "Soup" "MessageHeadersType"+    IO (Ptr MessageHeaders)+++messageHeadersNew ::+    (MonadIO m) =>+    MessageHeadersType ->                   -- type+    m MessageHeaders+messageHeadersNew type_ = liftIO $ do+    let type_' = (fromIntegral . fromEnum) type_+    result <- soup_message_headers_new type_'+    result' <- (wrapBoxed MessageHeaders) result+    return result'++-- method MessageHeaders::append+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_append" soup_message_headers_append :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    IO ()+++messageHeadersAppend ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- name+    T.Text ->                               -- value+    m ()+messageHeadersAppend _obj name value = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    value' <- textToCString value+    soup_message_headers_append _obj' name' value'+    touchManagedPtr _obj+    freeMem name'+    freeMem value'+    return ()++-- method MessageHeaders::clean_connection_headers+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_clean_connection_headers" soup_message_headers_clean_connection_headers :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    IO ()+++messageHeadersCleanConnectionHeaders ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m ()+messageHeadersCleanConnectionHeaders _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_headers_clean_connection_headers _obj'+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::clear+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_clear" soup_message_headers_clear :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    IO ()+++messageHeadersClear ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m ()+messageHeadersClear _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_headers_clear _obj'+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::foreach+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Soup" "MessageHeadersForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Soup" "MessageHeadersForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_foreach" soup_message_headers_foreach :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    FunPtr MessageHeadersForeachFuncC ->    -- func : TInterface "Soup" "MessageHeadersForeachFunc"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++messageHeadersForeach ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    MessageHeadersForeachFunc ->            -- func+    m ()+messageHeadersForeach _obj func = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    func' <- mkMessageHeadersForeachFunc (messageHeadersForeachFuncWrapper Nothing func)+    let user_data = nullPtr+    soup_message_headers_foreach _obj' func' user_data+    safeFreeFunPtr $ castFunPtrToPtr func'+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_free" soup_message_headers_free :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    IO ()+++messageHeadersFree ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m ()+messageHeadersFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_headers_free _obj'+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::free_ranges+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TInterface "Soup" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TInterface "Soup" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_free_ranges" soup_message_headers_free_ranges :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Ptr Range ->                            -- ranges : TInterface "Soup" "Range"+    IO ()+++messageHeadersFreeRanges ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    Range ->                                -- ranges+    m ()+messageHeadersFreeRanges _obj ranges = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let ranges' = unsafeManagedPtrGetPtr ranges+    soup_message_headers_free_ranges _obj' ranges'+    touchManagedPtr _obj+    touchManagedPtr ranges+    return ()++-- method MessageHeaders::get+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get" soup_message_headers_get :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- name : TBasicType TUTF8+    IO CString++{-# DEPRECATED messageHeadersGet ["Use soup_message_headers_get_one() or","soup_message_headers_get_list() instead."]#-}+messageHeadersGet ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- name+    m T.Text+messageHeadersGet _obj name = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    result <- soup_message_headers_get _obj' name'+    result' <- cstringToText result+    touchManagedPtr _obj+    freeMem name'+    return result'++-- method MessageHeaders::get_content_disposition+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "disposition", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_content_disposition" soup_message_headers_get_content_disposition :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Ptr CString ->                          -- disposition : TBasicType TUTF8+    Ptr (Ptr (GHashTable CString CString)) -> -- params : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO CInt+++messageHeadersGetContentDisposition ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m (Bool,T.Text,(Map.Map T.Text T.Text))+messageHeadersGetContentDisposition _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    disposition <- allocMem :: IO (Ptr CString)+    params <- allocMem :: IO (Ptr (Ptr (GHashTable CString CString)))+    result <- soup_message_headers_get_content_disposition _obj' disposition params+    let result' = (/= 0) result+    disposition' <- peek disposition+    disposition'' <- cstringToText disposition'+    freeMem disposition'+    params' <- peek params+    params'' <- unpackGHashTable params'+    let params''' = mapFirst cstringUnpackPtr params''+    params'''' <- mapFirstA cstringToText params'''+    let params''''' = mapSecond cstringUnpackPtr params''''+    params'''''' <- mapSecondA cstringToText params'''''+    let params''''''' = Map.fromList params''''''+    unrefGHashTable params'+    touchManagedPtr _obj+    freeMem disposition+    freeMem params+    return (result', disposition'', params''''''')++-- method MessageHeaders::get_content_length+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_content_length" soup_message_headers_get_content_length :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    IO Int64+++messageHeadersGetContentLength ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m Int64+messageHeadersGetContentLength _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_message_headers_get_content_length _obj'+    touchManagedPtr _obj+    return result++-- method MessageHeaders::get_content_range+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_content_range" soup_message_headers_get_content_range :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Int64 ->                                -- start : TBasicType TInt64+    Int64 ->                                -- end : TBasicType TInt64+    Int64 ->                                -- total_length : TBasicType TInt64+    IO CInt+++messageHeadersGetContentRange ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    Int64 ->                                -- start+    Int64 ->                                -- end+    Int64 ->                                -- total_length+    m Bool+messageHeadersGetContentRange _obj start end total_length = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_message_headers_get_content_range _obj' start end total_length+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method MessageHeaders::get_content_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_content_type" soup_message_headers_get_content_type :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Ptr (Ptr (GHashTable CString CString)) -> -- params : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO CString+++messageHeadersGetContentType ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m (T.Text,(Map.Map T.Text T.Text))+messageHeadersGetContentType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    params <- allocMem :: IO (Ptr (Ptr (GHashTable CString CString)))+    result <- soup_message_headers_get_content_type _obj' params+    result' <- cstringToText result+    params' <- peek params+    params'' <- unpackGHashTable params'+    let params''' = mapFirst cstringUnpackPtr params''+    params'''' <- mapFirstA cstringToText params'''+    let params''''' = mapSecond cstringUnpackPtr params''''+    params'''''' <- mapSecondA cstringToText params'''''+    let params''''''' = Map.fromList params''''''+    unrefGHashTable params'+    touchManagedPtr _obj+    freeMem params+    return (result', params''''''')++-- method MessageHeaders::get_encoding+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Encoding"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_encoding" soup_message_headers_get_encoding :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    IO CUInt+++messageHeadersGetEncoding ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m Encoding+messageHeadersGetEncoding _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_message_headers_get_encoding _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method MessageHeaders::get_expectations+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Expectation"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_expectations" soup_message_headers_get_expectations :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    IO CUInt+++messageHeadersGetExpectations ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m [Expectation]+messageHeadersGetExpectations _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_message_headers_get_expectations _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method MessageHeaders::get_headers_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "MessageHeadersType"+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_headers_type" soup_message_headers_get_headers_type :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    IO CUInt+++messageHeadersGetHeadersType ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    m MessageHeadersType+messageHeadersGetHeadersType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_message_headers_get_headers_type _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method MessageHeaders::get_list+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_list" soup_message_headers_get_list :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- name : TBasicType TUTF8+    IO CString+++messageHeadersGetList ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- name+    m T.Text+messageHeadersGetList _obj name = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    result <- soup_message_headers_get_list _obj' name'+    result' <- cstringToText result+    touchManagedPtr _obj+    freeMem name'+    return result'++-- method MessageHeaders::get_one+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_one" soup_message_headers_get_one :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- name : TBasicType TUTF8+    IO CString+++messageHeadersGetOne ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- name+    m T.Text+messageHeadersGetOne _obj name = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    result <- soup_message_headers_get_one _obj' name'+    result' <- cstringToText result+    touchManagedPtr _obj+    freeMem name'+    return result'++-- method MessageHeaders::get_ranges+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TCArray False (-1) 3 (TInterface "Soup" "Range"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_get_ranges" soup_message_headers_get_ranges :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Int64 ->                                -- total_length : TBasicType TInt64+    Ptr (Ptr Range) ->                      -- ranges : TCArray False (-1) 3 (TInterface "Soup" "Range")+    Ptr Int32 ->                            -- length : TBasicType TInt32+    IO CInt+++messageHeadersGetRanges ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    Int64 ->                                -- total_length+    m (Bool,[Range])+messageHeadersGetRanges _obj total_length = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    ranges <- allocMem :: IO (Ptr (Ptr Range))+    length_ <- allocMem :: IO (Ptr Int32)+    result <- soup_message_headers_get_ranges _obj' total_length ranges length_+    length_' <- peek length_+    let result' = (/= 0) result+    ranges' <- peek ranges+    ranges'' <- (unpackBlockArrayWithLength 16 length_') ranges'+    ranges''' <- mapM (wrapPtr Range) ranges''+    freeMem ranges'+    touchManagedPtr _obj+    freeMem ranges+    freeMem length_+    return (result', ranges''')++-- method MessageHeaders::header_contains+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_header_contains" soup_message_headers_header_contains :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- token : TBasicType TUTF8+    IO CInt+++messageHeadersHeaderContains ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- name+    T.Text ->                               -- token+    m Bool+messageHeadersHeaderContains _obj name token = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    token' <- textToCString token+    result <- soup_message_headers_header_contains _obj' name' token'+    let result' = (/= 0) result+    touchManagedPtr _obj+    freeMem name'+    freeMem token'+    return result'++-- method MessageHeaders::header_equals+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_header_equals" soup_message_headers_header_equals :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    IO CInt+++messageHeadersHeaderEquals ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- name+    T.Text ->                               -- value+    m Bool+messageHeadersHeaderEquals _obj name value = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    value' <- textToCString value+    result <- soup_message_headers_header_equals _obj' name' value'+    let result' = (/= 0) result+    touchManagedPtr _obj+    freeMem name'+    freeMem value'+    return result'++-- method MessageHeaders::remove+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_remove" soup_message_headers_remove :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- name : TBasicType TUTF8+    IO ()+++messageHeadersRemove ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- name+    m ()+messageHeadersRemove _obj name = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    soup_message_headers_remove _obj' name'+    touchManagedPtr _obj+    freeMem name'+    return ()++-- method MessageHeaders::replace+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_replace" soup_message_headers_replace :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    IO ()+++messageHeadersReplace ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- name+    T.Text ->                               -- value+    m ()+messageHeadersReplace _obj name value = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name' <- textToCString name+    value' <- textToCString value+    soup_message_headers_replace _obj' name' value'+    touchManagedPtr _obj+    freeMem name'+    freeMem value'+    return ()++-- method MessageHeaders::set_content_disposition+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "disposition", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "disposition", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_set_content_disposition" soup_message_headers_set_content_disposition :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- disposition : TBasicType TUTF8+    Ptr (GHashTable CString CString) ->     -- params : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO ()+++messageHeadersSetContentDisposition ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- disposition+    Maybe (Map.Map T.Text T.Text) ->        -- params+    m ()+messageHeadersSetContentDisposition _obj disposition params = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    disposition' <- textToCString disposition+    maybeParams <- case params of+        Nothing -> return nullPtr+        Just jParams -> do+            let jParams' = Map.toList jParams+            jParams'' <- mapFirstA textToCString jParams'+            jParams''' <- mapSecondA textToCString jParams''+            let jParams'''' = mapFirst cstringPackPtr jParams'''+            let jParams''''' = mapSecond cstringPackPtr jParams''''+            jParams'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) jParams'''''+            return jParams''''''+    soup_message_headers_set_content_disposition _obj' disposition' maybeParams+    touchManagedPtr _obj+    freeMem disposition'+    unrefGHashTable maybeParams+    return ()++-- method MessageHeaders::set_content_length+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_set_content_length" soup_message_headers_set_content_length :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Int64 ->                                -- content_length : TBasicType TInt64+    IO ()+++messageHeadersSetContentLength ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    Int64 ->                                -- content_length+    m ()+messageHeadersSetContentLength _obj content_length = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_headers_set_content_length _obj' content_length+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::set_content_range+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "total_length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_set_content_range" soup_message_headers_set_content_range :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Int64 ->                                -- start : TBasicType TInt64+    Int64 ->                                -- end : TBasicType TInt64+    Int64 ->                                -- total_length : TBasicType TInt64+    IO ()+++messageHeadersSetContentRange ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    Int64 ->                                -- start+    Int64 ->                                -- end+    Int64 ->                                -- total_length+    m ()+messageHeadersSetContentRange _obj start end total_length = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_headers_set_content_range _obj' start end total_length+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::set_content_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_set_content_type" soup_message_headers_set_content_type :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CString ->                              -- content_type : TBasicType TUTF8+    Ptr (GHashTable CString CString) ->     -- params : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO ()+++messageHeadersSetContentType ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    T.Text ->                               -- content_type+    Maybe (Map.Map T.Text T.Text) ->        -- params+    m ()+messageHeadersSetContentType _obj content_type params = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    content_type' <- textToCString content_type+    maybeParams <- case params of+        Nothing -> return nullPtr+        Just jParams -> do+            let jParams' = Map.toList jParams+            jParams'' <- mapFirstA textToCString jParams'+            jParams''' <- mapSecondA textToCString jParams''+            let jParams'''' = mapFirst cstringPackPtr jParams'''+            let jParams''''' = mapSecond cstringPackPtr jParams''''+            jParams'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) jParams'''''+            return jParams''''''+    soup_message_headers_set_content_type _obj' content_type' maybeParams+    touchManagedPtr _obj+    freeMem content_type'+    unrefGHashTable maybeParams+    return ()++-- method MessageHeaders::set_encoding+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Soup" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Soup" "Encoding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_set_encoding" soup_message_headers_set_encoding :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CUInt ->                                -- encoding : TInterface "Soup" "Encoding"+    IO ()+++messageHeadersSetEncoding ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    Encoding ->                             -- encoding+    m ()+messageHeadersSetEncoding _obj encoding = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let encoding' = (fromIntegral . fromEnum) encoding+    soup_message_headers_set_encoding _obj' encoding'+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::set_expectations+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expectations", argType = TInterface "Soup" "Expectation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expectations", argType = TInterface "Soup" "Expectation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_set_expectations" soup_message_headers_set_expectations :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    CUInt ->                                -- expectations : TInterface "Soup" "Expectation"+    IO ()+++messageHeadersSetExpectations ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    [Expectation] ->                        -- expectations+    m ()+messageHeadersSetExpectations _obj expectations = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let expectations' = gflagsToWord expectations+    soup_message_headers_set_expectations _obj' expectations'+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::set_range+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_set_range" soup_message_headers_set_range :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Int64 ->                                -- start : TBasicType TInt64+    Int64 ->                                -- end : TBasicType TInt64+    IO ()+++messageHeadersSetRange ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    Int64 ->                                -- start+    Int64 ->                                -- end+    m ()+messageHeadersSetRange _obj start end = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_message_headers_set_range _obj' start end+    touchManagedPtr _obj+    return ()++-- method MessageHeaders::set_ranges+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TInterface "Soup" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TInterface "Soup" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_set_ranges" soup_message_headers_set_ranges :: +    Ptr MessageHeaders ->                   -- _obj : TInterface "Soup" "MessageHeaders"+    Ptr Range ->                            -- ranges : TInterface "Soup" "Range"+    Int32 ->                                -- length : TBasicType TInt32+    IO ()+++messageHeadersSetRanges ::+    (MonadIO m) =>+    MessageHeaders ->                       -- _obj+    Range ->                                -- ranges+    Int32 ->                                -- length+    m ()+messageHeadersSetRanges _obj ranges length_ = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let ranges' = unsafeManagedPtrGetPtr ranges+    soup_message_headers_set_ranges _obj' ranges' length_+    touchManagedPtr _obj+    touchManagedPtr ranges+    return ()++-- callback MessageHeadersForeachFunc+messageHeadersForeachFuncClosure :: MessageHeadersForeachFunc -> IO Closure+messageHeadersForeachFuncClosure cb = newCClosure =<< mkMessageHeadersForeachFunc wrapped+    where wrapped = messageHeadersForeachFuncWrapper Nothing cb++type MessageHeadersForeachFuncC =+    CString ->+    CString ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkMessageHeadersForeachFunc :: MessageHeadersForeachFuncC -> IO (FunPtr MessageHeadersForeachFuncC)++type MessageHeadersForeachFunc =+    T.Text ->+    T.Text ->+    IO ()++noMessageHeadersForeachFunc :: Maybe MessageHeadersForeachFunc+noMessageHeadersForeachFunc = Nothing++messageHeadersForeachFuncWrapper ::+    Maybe (Ptr (FunPtr (MessageHeadersForeachFuncC))) ->+    MessageHeadersForeachFunc ->+    CString ->+    CString ->+    Ptr () ->+    IO ()+messageHeadersForeachFuncWrapper funptrptr _cb name value _ = do+    name' <- cstringToText name+    value' <- cstringToText value+    _cb  name' value'+    maybeReleaseFunPtr funptrptr++-- struct MessageHeadersIter+newtype MessageHeadersIter = MessageHeadersIter (ForeignPtr MessageHeadersIter)+noMessageHeadersIter :: Maybe MessageHeadersIter+noMessageHeadersIter = Nothing++-- method MessageHeadersIter::next+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_iter_next" soup_message_headers_iter_next :: +    Ptr MessageHeadersIter ->               -- _obj : TInterface "Soup" "MessageHeadersIter"+    Ptr CString ->                          -- name : TBasicType TUTF8+    Ptr CString ->                          -- value : TBasicType TUTF8+    IO CInt+++messageHeadersIterNext ::+    (MonadIO m) =>+    MessageHeadersIter ->                   -- _obj+    m (Bool,T.Text,T.Text)+messageHeadersIterNext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    name <- allocMem :: IO (Ptr CString)+    value <- allocMem :: IO (Ptr CString)+    result <- soup_message_headers_iter_next _obj' name value+    let result' = (/= 0) result+    name' <- peek name+    name'' <- cstringToText name'+    value' <- peek value+    value'' <- cstringToText value'+    touchManagedPtr _obj+    freeMem name+    freeMem value+    return (result', name'', value'')++-- Enum MessageHeadersType++data MessageHeadersType = +      MessageHeadersTypeRequest+    | MessageHeadersTypeResponse+    | MessageHeadersTypeMultipart+    | AnotherMessageHeadersType Int+    deriving (Show, Eq)++instance Enum MessageHeadersType where+    fromEnum MessageHeadersTypeRequest = 0+    fromEnum MessageHeadersTypeResponse = 1+    fromEnum MessageHeadersTypeMultipart = 2+    fromEnum (AnotherMessageHeadersType k) = k++    toEnum 0 = MessageHeadersTypeRequest+    toEnum 1 = MessageHeadersTypeResponse+    toEnum 2 = MessageHeadersTypeMultipart+    toEnum k = AnotherMessageHeadersType k++foreign import ccall "soup_message_headers_type_get_type" c_soup_message_headers_type_get_type :: +    IO GType++instance BoxedEnum MessageHeadersType where+    boxedEnumType _ = c_soup_message_headers_type_get_type++-- Enum MessagePriority++data MessagePriority = +      MessagePriorityVeryLow+    | MessagePriorityLow+    | MessagePriorityNormal+    | MessagePriorityHigh+    | MessagePriorityVeryHigh+    | AnotherMessagePriority Int+    deriving (Show, Eq)++instance Enum MessagePriority where+    fromEnum MessagePriorityVeryLow = 0+    fromEnum MessagePriorityLow = 1+    fromEnum MessagePriorityNormal = 2+    fromEnum MessagePriorityHigh = 3+    fromEnum MessagePriorityVeryHigh = 4+    fromEnum (AnotherMessagePriority k) = k++    toEnum 0 = MessagePriorityVeryLow+    toEnum 1 = MessagePriorityLow+    toEnum 2 = MessagePriorityNormal+    toEnum 3 = MessagePriorityHigh+    toEnum 4 = MessagePriorityVeryHigh+    toEnum k = AnotherMessagePriority k++foreign import ccall "soup_message_priority_get_type" c_soup_message_priority_get_type :: +    IO GType++instance BoxedEnum MessagePriority where+    boxedEnumType _ = c_soup_message_priority_get_type++-- struct MessageQueue+newtype MessageQueue = MessageQueue (ForeignPtr MessageQueue)+noMessageQueue :: Maybe MessageQueue+noMessageQueue = Nothing++-- struct MessageQueueItem+newtype MessageQueueItem = MessageQueueItem (ForeignPtr MessageQueueItem)+noMessageQueueItem :: Maybe MessageQueueItem+noMessageQueueItem = Nothing++-- struct Multipart+newtype Multipart = Multipart (ForeignPtr Multipart)+noMultipart :: Maybe Multipart+noMultipart = Nothing++foreign import ccall "soup_multipart_get_type" c_soup_multipart_get_type :: +    IO GType++instance BoxedObject Multipart where+    boxedType _ = c_soup_multipart_get_type++-- method Multipart::new+-- method type : Constructor+-- Args : [Arg {argName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Multipart"+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_new" soup_multipart_new :: +    CString ->                              -- mime_type : TBasicType TUTF8+    IO (Ptr Multipart)+++multipartNew ::+    (MonadIO m) =>+    T.Text ->                               -- mime_type+    m Multipart+multipartNew mime_type = liftIO $ do+    mime_type' <- textToCString mime_type+    result <- soup_multipart_new mime_type'+    result' <- (wrapBoxed Multipart) result+    freeMem mime_type'+    return result'++-- method Multipart::new_from_message+-- method type : Constructor+-- Args : [Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Multipart"+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_new_from_message" soup_multipart_new_from_message :: +    Ptr MessageHeaders ->                   -- headers : TInterface "Soup" "MessageHeaders"+    Ptr MessageBody ->                      -- body : TInterface "Soup" "MessageBody"+    IO (Ptr Multipart)+++multipartNewFromMessage ::+    (MonadIO m) =>+    MessageHeaders ->                       -- headers+    MessageBody ->                          -- body+    m Multipart+multipartNewFromMessage headers body = liftIO $ do+    let headers' = unsafeManagedPtrGetPtr headers+    let body' = unsafeManagedPtrGetPtr body+    result <- soup_multipart_new_from_message headers' body'+    result' <- (wrapBoxed Multipart) result+    touchManagedPtr headers+    touchManagedPtr body+    return result'++-- method Multipart::append_form_file+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_append_form_file" soup_multipart_append_form_file :: +    Ptr Multipart ->                        -- _obj : TInterface "Soup" "Multipart"+    CString ->                              -- control_name : TBasicType TUTF8+    CString ->                              -- filename : TBasicType TUTF8+    CString ->                              -- content_type : TBasicType TUTF8+    Ptr Buffer ->                           -- body : TInterface "Soup" "Buffer"+    IO ()+++multipartAppendFormFile ::+    (MonadIO m) =>+    Multipart ->                            -- _obj+    T.Text ->                               -- control_name+    T.Text ->                               -- filename+    T.Text ->                               -- content_type+    Buffer ->                               -- body+    m ()+multipartAppendFormFile _obj control_name filename content_type body = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    control_name' <- textToCString control_name+    filename' <- textToCString filename+    content_type' <- textToCString content_type+    let body' = unsafeManagedPtrGetPtr body+    soup_multipart_append_form_file _obj' control_name' filename' content_type' body'+    touchManagedPtr _obj+    touchManagedPtr body+    freeMem control_name'+    freeMem filename'+    freeMem content_type'+    return ()++-- method Multipart::append_form_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_append_form_string" soup_multipart_append_form_string :: +    Ptr Multipart ->                        -- _obj : TInterface "Soup" "Multipart"+    CString ->                              -- control_name : TBasicType TUTF8+    CString ->                              -- data : TBasicType TUTF8+    IO ()+++multipartAppendFormString ::+    (MonadIO m) =>+    Multipart ->                            -- _obj+    T.Text ->                               -- control_name+    T.Text ->                               -- data+    m ()+multipartAppendFormString _obj control_name data_ = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    control_name' <- textToCString control_name+    data_' <- textToCString data_+    soup_multipart_append_form_string _obj' control_name' data_'+    touchManagedPtr _obj+    freeMem control_name'+    freeMem data_'+    return ()++-- method Multipart::append_part+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_append_part" soup_multipart_append_part :: +    Ptr Multipart ->                        -- _obj : TInterface "Soup" "Multipart"+    Ptr MessageHeaders ->                   -- headers : TInterface "Soup" "MessageHeaders"+    Ptr Buffer ->                           -- body : TInterface "Soup" "Buffer"+    IO ()+++multipartAppendPart ::+    (MonadIO m) =>+    Multipart ->                            -- _obj+    MessageHeaders ->                       -- headers+    Buffer ->                               -- body+    m ()+multipartAppendPart _obj headers body = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let headers' = unsafeManagedPtrGetPtr headers+    let body' = unsafeManagedPtrGetPtr body+    soup_multipart_append_part _obj' headers' body'+    touchManagedPtr _obj+    touchManagedPtr headers+    touchManagedPtr body+    return ()++-- method Multipart::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_free" soup_multipart_free :: +    Ptr Multipart ->                        -- _obj : TInterface "Soup" "Multipart"+    IO ()+++multipartFree ::+    (MonadIO m) =>+    Multipart ->                            -- _obj+    m ()+multipartFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_multipart_free _obj'+    touchManagedPtr _obj+    return ()++-- method Multipart::get_length+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_get_length" soup_multipart_get_length :: +    Ptr Multipart ->                        -- _obj : TInterface "Soup" "Multipart"+    IO Int32+++multipartGetLength ::+    (MonadIO m) =>+    Multipart ->                            -- _obj+    m Int32+multipartGetLength _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_multipart_get_length _obj'+    touchManagedPtr _obj+    return result++-- method Multipart::get_part+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "body", argType = TInterface "Soup" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_get_part" soup_multipart_get_part :: +    Ptr Multipart ->                        -- _obj : TInterface "Soup" "Multipart"+    Int32 ->                                -- part : TBasicType TInt32+    Ptr (Ptr MessageHeaders) ->             -- headers : TInterface "Soup" "MessageHeaders"+    Ptr Buffer ->                           -- body : TInterface "Soup" "Buffer"+    IO CInt+++multipartGetPart ::+    (MonadIO m) =>+    Multipart ->                            -- _obj+    Int32 ->                                -- part+    m (Bool,MessageHeaders,Buffer)+multipartGetPart _obj part = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    headers <- allocMem :: IO (Ptr (Ptr MessageHeaders))+    body <- callocBoxedBytes 16 :: IO (Ptr Buffer)+    result <- soup_multipart_get_part _obj' part headers body+    let result' = (/= 0) result+    headers' <- peek headers+    headers'' <- (newBoxed MessageHeaders) headers'+    body' <- (wrapBoxed Buffer) body+    touchManagedPtr _obj+    freeMem headers+    return (result', headers'', body')++-- method Multipart::to_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_body", argType = TInterface "Soup" "MessageBody", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_to_message" soup_multipart_to_message :: +    Ptr Multipart ->                        -- _obj : TInterface "Soup" "Multipart"+    Ptr MessageHeaders ->                   -- dest_headers : TInterface "Soup" "MessageHeaders"+    Ptr MessageBody ->                      -- dest_body : TInterface "Soup" "MessageBody"+    IO ()+++multipartToMessage ::+    (MonadIO m) =>+    Multipart ->                            -- _obj+    MessageHeaders ->                       -- dest_headers+    MessageBody ->                          -- dest_body+    m ()+multipartToMessage _obj dest_headers dest_body = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let dest_headers' = unsafeManagedPtrGetPtr dest_headers+    let dest_body' = unsafeManagedPtrGetPtr dest_body+    soup_multipart_to_message _obj' dest_headers' dest_body'+    touchManagedPtr _obj+    touchManagedPtr dest_headers+    touchManagedPtr dest_body+    return ()++-- object MultipartInputStream +newtype MultipartInputStream = MultipartInputStream (ForeignPtr MultipartInputStream)+noMultipartInputStream :: Maybe MultipartInputStream+noMultipartInputStream = Nothing++foreign import ccall "soup_multipart_input_stream_get_type"+    c_soup_multipart_input_stream_get_type :: IO GType++type instance ParentTypes MultipartInputStream = '[Gio.FilterInputStream, Gio.InputStream, GObject.Object, Gio.PollableInputStream]++instance GObject MultipartInputStream where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_multipart_input_stream_get_type+    ++class GObject o => MultipartInputStreamK o+instance (GObject o, IsDescendantOf MultipartInputStream o) => MultipartInputStreamK o++toMultipartInputStream :: MultipartInputStreamK o => o -> IO MultipartInputStream+toMultipartInputStream = unsafeCastTo MultipartInputStream++-- method MultipartInputStream::new+-- method type : Constructor+-- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_stream", argType = TInterface "Gio" "InputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_stream", argType = TInterface "Gio" "InputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "MultipartInputStream"+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_input_stream_new" soup_multipart_input_stream_new :: +    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    Ptr Gio.InputStream ->                  -- base_stream : TInterface "Gio" "InputStream"+    IO (Ptr MultipartInputStream)+++multipartInputStreamNew ::+    (MonadIO m, MessageK a, Gio.InputStreamK b) =>+    a ->                                    -- msg+    b ->                                    -- base_stream+    m MultipartInputStream+multipartInputStreamNew msg base_stream = liftIO $ do+    let msg' = unsafeManagedPtrCastPtr msg+    let base_stream' = unsafeManagedPtrCastPtr base_stream+    result <- soup_multipart_input_stream_new msg' base_stream'+    result' <- (wrapObject MultipartInputStream) result+    touchManagedPtr msg+    touchManagedPtr base_stream+    return result'++-- method MultipartInputStream::get_headers+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "MessageHeaders"+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_input_stream_get_headers" soup_multipart_input_stream_get_headers :: +    Ptr MultipartInputStream ->             -- _obj : TInterface "Soup" "MultipartInputStream"+    IO (Ptr MessageHeaders)+++multipartInputStreamGetHeaders ::+    (MonadIO m, MultipartInputStreamK a) =>+    a ->                                    -- _obj+    m MessageHeaders+multipartInputStreamGetHeaders _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_multipart_input_stream_get_headers _obj'+    result' <- (newBoxed MessageHeaders) result+    touchManagedPtr _obj+    return result'++-- method MultipartInputStream::next_part+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "InputStream"+-- throws : True+-- Skip return : False++foreign import ccall "soup_multipart_input_stream_next_part" soup_multipart_input_stream_next_part :: +    Ptr MultipartInputStream ->             -- _obj : TInterface "Soup" "MultipartInputStream"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Gio.InputStream)+++multipartInputStreamNextPart ::+    (MonadIO m, MultipartInputStreamK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- cancellable+    m Gio.InputStream+multipartInputStreamNextPart _obj cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ soup_multipart_input_stream_next_part _obj' maybeCancellable+        result' <- (wrapObject Gio.InputStream) result+        touchManagedPtr _obj+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++-- method MultipartInputStream::next_part_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "io_priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "io_priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_multipart_input_stream_next_part_async" soup_multipart_input_stream_next_part_async :: +    Ptr MultipartInputStream ->             -- _obj : TInterface "Soup" "MultipartInputStream"+    Int32 ->                                -- io_priority : TBasicType TInt32+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr Gio.AsyncReadyCallbackC ->       -- callback : TInterface "Gio" "AsyncReadyCallback"+    Ptr () ->                               -- data : TBasicType TVoid+    IO ()+++multipartInputStreamNextPartAsync ::+    (MonadIO m, MultipartInputStreamK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Int32 ->                                -- io_priority+    Maybe (b) ->                            -- cancellable+    Maybe (Gio.AsyncReadyCallback) ->       -- callback+    m ()+multipartInputStreamNextPartAsync _obj io_priority cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr Gio.AsyncReadyCallbackC)+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)+            poke ptrcallback jCallback'+            return jCallback'+    let data_ = nullPtr+    soup_multipart_input_stream_next_part_async _obj' io_priority maybeCancellable maybeCallback data_+    touchManagedPtr _obj+    whenJust cancellable touchManagedPtr+    return ()++-- method MultipartInputStream::next_part_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "MultipartInputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "InputStream"+-- throws : True+-- Skip return : False++foreign import ccall "soup_multipart_input_stream_next_part_finish" soup_multipart_input_stream_next_part_finish :: +    Ptr MultipartInputStream ->             -- _obj : TInterface "Soup" "MultipartInputStream"+    Ptr Gio.AsyncResult ->                  -- result : TInterface "Gio" "AsyncResult"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Gio.InputStream)+++multipartInputStreamNextPartFinish ::+    (MonadIO m, MultipartInputStreamK a, Gio.AsyncResultK b) =>+    a ->                                    -- _obj+    b ->                                    -- result+    m Gio.InputStream+multipartInputStreamNextPartFinish _obj result_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let result_' = unsafeManagedPtrCastPtr result_+    onException (do+        result <- propagateGError $ soup_multipart_input_stream_next_part_finish _obj' result_'+        result' <- (wrapObject Gio.InputStream) result+        touchManagedPtr _obj+        touchManagedPtr result_+        return result'+     ) (do+        return ()+     )++-- interface PasswordManager ++newtype PasswordManager = PasswordManager (ForeignPtr PasswordManager)+noPasswordManager :: Maybe PasswordManager+noPasswordManager = Nothing++foreign import ccall "soup_password_manager_get_type"+    c_soup_password_manager_get_type :: IO GType++type instance ParentTypes PasswordManager = '[SessionFeature, GObject.Object]++instance GObject PasswordManager where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_password_manager_get_type+    ++class GObject o => PasswordManagerK o+instance (GObject o, IsDescendantOf PasswordManager o) => PasswordManagerK o++toPasswordManager :: PasswordManagerK o => o -> IO PasswordManager+toPasswordManager = unsafeCastTo PasswordManager++-- method PasswordManager::get_passwords_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "retrying", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "PasswordManagerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "retrying", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "PasswordManagerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_password_manager_get_passwords_async" soup_password_manager_get_passwords_async :: +    Ptr PasswordManager ->                  -- _obj : TInterface "Soup" "PasswordManager"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    Ptr Auth ->                             -- auth : TInterface "Soup" "Auth"+    CInt ->                                 -- retrying : TBasicType TBoolean+    Ptr GLib.MainContext ->                 -- async_context : TInterface "GLib" "MainContext"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr PasswordManagerCallbackC ->      -- callback : TInterface "Soup" "PasswordManagerCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++passwordManagerGetPasswordsAsync ::+    (MonadIO m, PasswordManagerK a, MessageK b, AuthK c, Gio.CancellableK d) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    c ->                                    -- auth+    Bool ->                                 -- retrying+    GLib.MainContext ->                     -- async_context+    Maybe (d) ->                            -- cancellable+    PasswordManagerCallback ->              -- callback+    m ()+passwordManagerGetPasswordsAsync _obj msg auth retrying async_context cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    let auth' = unsafeManagedPtrCastPtr auth+    let retrying' = (fromIntegral . fromEnum) retrying+    let async_context' = unsafeManagedPtrGetPtr async_context+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr PasswordManagerCallbackC)+    callback' <- mkPasswordManagerCallback (passwordManagerCallbackWrapper (Just ptrcallback) callback)+    poke ptrcallback callback'+    let user_data = nullPtr+    soup_password_manager_get_passwords_async _obj' msg' auth' retrying' async_context' maybeCancellable callback' user_data+    touchManagedPtr _obj+    touchManagedPtr msg+    touchManagedPtr auth+    touchManagedPtr async_context+    whenJust cancellable touchManagedPtr+    return ()++-- method PasswordManager::get_passwords_sync+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "PasswordManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth", argType = TInterface "Soup" "Auth", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_password_manager_get_passwords_sync" soup_password_manager_get_passwords_sync :: +    Ptr PasswordManager ->                  -- _obj : TInterface "Soup" "PasswordManager"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    Ptr Auth ->                             -- auth : TInterface "Soup" "Auth"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    IO ()+++passwordManagerGetPasswordsSync ::+    (MonadIO m, PasswordManagerK a, MessageK b, AuthK c, Gio.CancellableK d) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    c ->                                    -- auth+    Maybe (d) ->                            -- cancellable+    m ()+passwordManagerGetPasswordsSync _obj msg auth cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    let auth' = unsafeManagedPtrCastPtr auth+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    soup_password_manager_get_passwords_sync _obj' msg' auth' maybeCancellable+    touchManagedPtr _obj+    touchManagedPtr msg+    touchManagedPtr auth+    whenJust cancellable touchManagedPtr+    return ()++-- callback PasswordManagerCallback+passwordManagerCallbackClosure :: PasswordManagerCallback -> IO Closure+passwordManagerCallbackClosure cb = newCClosure =<< mkPasswordManagerCallback wrapped+    where wrapped = passwordManagerCallbackWrapper Nothing cb++type PasswordManagerCallbackC =+    Ptr PasswordManager ->+    Ptr Message ->+    Ptr Auth ->+    CInt ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkPasswordManagerCallback :: PasswordManagerCallbackC -> IO (FunPtr PasswordManagerCallbackC)++type PasswordManagerCallback =+    PasswordManager ->+    Message ->+    Auth ->+    Bool ->+    IO ()++noPasswordManagerCallback :: Maybe PasswordManagerCallback+noPasswordManagerCallback = Nothing++passwordManagerCallbackWrapper ::+    Maybe (Ptr (FunPtr (PasswordManagerCallbackC))) ->+    PasswordManagerCallback ->+    Ptr PasswordManager ->+    Ptr Message ->+    Ptr Auth ->+    CInt ->+    Ptr () ->+    IO ()+passwordManagerCallbackWrapper funptrptr _cb password_manager msg auth retrying _ = do+    password_manager' <- (newObject PasswordManager) password_manager+    msg' <- (newObject Message) msg+    auth' <- (newObject Auth) auth+    let retrying' = (/= 0) retrying+    _cb  password_manager' msg' auth' retrying'+    maybeReleaseFunPtr funptrptr++-- object ProxyResolverDefault +newtype ProxyResolverDefault = ProxyResolverDefault (ForeignPtr ProxyResolverDefault)+noProxyResolverDefault :: Maybe ProxyResolverDefault+noProxyResolverDefault = Nothing++foreign import ccall "soup_proxy_resolver_default_get_type"+    c_soup_proxy_resolver_default_get_type :: IO GType++type instance ParentTypes ProxyResolverDefault = '[GObject.Object, ProxyURIResolver, SessionFeature]++instance GObject ProxyResolverDefault where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_proxy_resolver_default_get_type+    ++class GObject o => ProxyResolverDefaultK o+instance (GObject o, IsDescendantOf ProxyResolverDefault o) => ProxyResolverDefaultK o++toProxyResolverDefault :: ProxyResolverDefaultK o => o -> IO ProxyResolverDefault+toProxyResolverDefault = unsafeCastTo ProxyResolverDefault++-- interface ProxyURIResolver ++newtype ProxyURIResolver = ProxyURIResolver (ForeignPtr ProxyURIResolver)+noProxyURIResolver :: Maybe ProxyURIResolver+noProxyURIResolver = Nothing++foreign import ccall "soup_proxy_uri_resolver_get_type"+    c_soup_proxy_uri_resolver_get_type :: IO GType++type instance ParentTypes ProxyURIResolver = '[SessionFeature, GObject.Object]++instance GObject ProxyURIResolver where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_proxy_uri_resolver_get_type+    ++class GObject o => ProxyURIResolverK o+instance (GObject o, IsDescendantOf ProxyURIResolver o) => ProxyURIResolverK o++toProxyURIResolver :: ProxyURIResolverK o => o -> IO ProxyURIResolver+toProxyURIResolver = unsafeCastTo ProxyURIResolver++-- method ProxyURIResolver::get_proxy_uri_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ProxyURIResolverCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "async_context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ProxyURIResolverCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_proxy_uri_resolver_get_proxy_uri_async" soup_proxy_uri_resolver_get_proxy_uri_async :: +    Ptr ProxyURIResolver ->                 -- _obj : TInterface "Soup" "ProxyURIResolver"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    Ptr GLib.MainContext ->                 -- async_context : TInterface "GLib" "MainContext"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr ProxyURIResolverCallbackC ->     -- callback : TInterface "Soup" "ProxyURIResolverCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()++{-# DEPRECATED proxyURIResolverGetProxyUriAsync ["#SoupProxyURIResolver is deprecated in favor of","#GProxyResolver"]#-}+proxyURIResolverGetProxyUriAsync ::+    (MonadIO m, ProxyURIResolverK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    Maybe (GLib.MainContext) ->             -- async_context+    Maybe (b) ->                            -- cancellable+    ProxyURIResolverCallback ->             -- callback+    m ()+proxyURIResolverGetProxyUriAsync _obj uri async_context cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    maybeAsync_context <- case async_context of+        Nothing -> return nullPtr+        Just jAsync_context -> do+            let jAsync_context' = unsafeManagedPtrGetPtr jAsync_context+            return jAsync_context'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr ProxyURIResolverCallbackC)+    callback' <- mkProxyURIResolverCallback (proxyURIResolverCallbackWrapper (Just ptrcallback) callback)+    poke ptrcallback callback'+    let user_data = nullPtr+    soup_proxy_uri_resolver_get_proxy_uri_async _obj' uri' maybeAsync_context maybeCancellable callback' user_data+    touchManagedPtr _obj+    touchManagedPtr uri+    whenJust async_context touchManagedPtr+    whenJust cancellable touchManagedPtr+    return ()++-- method ProxyURIResolver::get_proxy_uri_sync+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "proxy_uri", argType = TInterface "Soup" "URI", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "ProxyURIResolver", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_proxy_uri_resolver_get_proxy_uri_sync" soup_proxy_uri_resolver_get_proxy_uri_sync :: +    Ptr ProxyURIResolver ->                 -- _obj : TInterface "Soup" "ProxyURIResolver"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr URI ->                              -- proxy_uri : TInterface "Soup" "URI"+    IO Word32++{-# DEPRECATED proxyURIResolverGetProxyUriSync ["#SoupProxyURIResolver is deprecated in favor of","#GProxyResolver"]#-}+proxyURIResolverGetProxyUriSync ::+    (MonadIO m, ProxyURIResolverK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    Maybe (b) ->                            -- cancellable+    m (Word32,URI)+proxyURIResolverGetProxyUriSync _obj uri cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    proxy_uri <- callocBoxedBytes 64 :: IO (Ptr URI)+    result <- soup_proxy_uri_resolver_get_proxy_uri_sync _obj' uri' maybeCancellable proxy_uri+    proxy_uri' <- (wrapBoxed URI) proxy_uri+    touchManagedPtr _obj+    touchManagedPtr uri+    whenJust cancellable touchManagedPtr+    return (result, proxy_uri')++-- callback ProxyURIResolverCallback+proxyURIResolverCallbackClosure :: ProxyURIResolverCallback -> IO Closure+proxyURIResolverCallbackClosure cb = newCClosure =<< mkProxyURIResolverCallback wrapped+    where wrapped = proxyURIResolverCallbackWrapper Nothing cb++type ProxyURIResolverCallbackC =+    Ptr ProxyURIResolver ->+    Word32 ->+    Ptr URI ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkProxyURIResolverCallback :: ProxyURIResolverCallbackC -> IO (FunPtr ProxyURIResolverCallbackC)++type ProxyURIResolverCallback =+    ProxyURIResolver ->+    Word32 ->+    URI ->+    IO ()++noProxyURIResolverCallback :: Maybe ProxyURIResolverCallback+noProxyURIResolverCallback = Nothing++proxyURIResolverCallbackWrapper ::+    Maybe (Ptr (FunPtr (ProxyURIResolverCallbackC))) ->+    ProxyURIResolverCallback ->+    Ptr ProxyURIResolver ->+    Word32 ->+    Ptr URI ->+    Ptr () ->+    IO ()+proxyURIResolverCallbackWrapper funptrptr _cb resolver status proxy_uri _ = do+    resolver' <- (newObject ProxyURIResolver) resolver+    proxy_uri' <- (newBoxed URI) proxy_uri+    _cb  resolver' status proxy_uri'+    maybeReleaseFunPtr funptrptr++-- struct Range+newtype Range = Range (ForeignPtr Range)+noRange :: Maybe Range+noRange = Nothing++rangeReadStart :: Range -> IO Int64+rangeReadStart s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int64+    return val++rangeReadEnd :: Range -> IO Int64+rangeReadEnd s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int64+    return val++-- object Request +newtype Request = Request (ForeignPtr Request)+noRequest :: Maybe Request+noRequest = Nothing++foreign import ccall "soup_request_get_type"+    c_soup_request_get_type :: IO GType++type instance ParentTypes Request = '[GObject.Object, Gio.Initable]++instance GObject Request where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_request_get_type+    ++class GObject o => RequestK o+instance (GObject o, IsDescendantOf Request o) => RequestK o++toRequest :: RequestK o => o -> IO Request+toRequest = unsafeCastTo Request++-- method Request::get_content_length+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt64+-- throws : False+-- Skip return : False++foreign import ccall "soup_request_get_content_length" soup_request_get_content_length :: +    Ptr Request ->                          -- _obj : TInterface "Soup" "Request"+    IO Int64+++requestGetContentLength ::+    (MonadIO m, RequestK a) =>+    a ->                                    -- _obj+    m Int64+requestGetContentLength _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_request_get_content_length _obj'+    touchManagedPtr _obj+    return result++-- method Request::get_content_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_request_get_content_type" soup_request_get_content_type :: +    Ptr Request ->                          -- _obj : TInterface "Soup" "Request"+    IO CString+++requestGetContentType ::+    (MonadIO m, RequestK a) =>+    a ->                                    -- _obj+    m T.Text+requestGetContentType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_request_get_content_type _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Request::get_session+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Session"+-- throws : False+-- Skip return : False++foreign import ccall "soup_request_get_session" soup_request_get_session :: +    Ptr Request ->                          -- _obj : TInterface "Soup" "Request"+    IO (Ptr Session)+++requestGetSession ::+    (MonadIO m, RequestK a) =>+    a ->                                    -- _obj+    m Session+requestGetSession _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_request_get_session _obj'+    result' <- (newObject Session) result+    touchManagedPtr _obj+    return result'++-- method Request::get_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "URI"+-- throws : False+-- Skip return : False++foreign import ccall "soup_request_get_uri" soup_request_get_uri :: +    Ptr Request ->                          -- _obj : TInterface "Soup" "Request"+    IO (Ptr URI)+++requestGetUri ::+    (MonadIO m, RequestK a) =>+    a ->                                    -- _obj+    m URI+requestGetUri _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_request_get_uri _obj'+    result' <- (newBoxed URI) result+    touchManagedPtr _obj+    return result'++-- method Request::send+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "InputStream"+-- throws : True+-- Skip return : False++foreign import ccall "soup_request_send" soup_request_send :: +    Ptr Request ->                          -- _obj : TInterface "Soup" "Request"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Gio.InputStream)+++requestSend ::+    (MonadIO m, RequestK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- cancellable+    m Gio.InputStream+requestSend _obj cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ soup_request_send _obj' maybeCancellable+        result' <- (wrapObject Gio.InputStream) result+        touchManagedPtr _obj+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++-- method Request::send_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_request_send_async" soup_request_send_async :: +    Ptr Request ->                          -- _obj : TInterface "Soup" "Request"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr Gio.AsyncReadyCallbackC ->       -- callback : TInterface "Gio" "AsyncReadyCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++requestSendAsync ::+    (MonadIO m, RequestK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- cancellable+    Maybe (Gio.AsyncReadyCallback) ->       -- callback+    m ()+requestSendAsync _obj cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr Gio.AsyncReadyCallbackC)+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)+            poke ptrcallback jCallback'+            return jCallback'+    let user_data = nullPtr+    soup_request_send_async _obj' maybeCancellable maybeCallback user_data+    touchManagedPtr _obj+    whenJust cancellable touchManagedPtr+    return ()++-- method Request::send_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Request", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "InputStream"+-- throws : True+-- Skip return : False++foreign import ccall "soup_request_send_finish" soup_request_send_finish :: +    Ptr Request ->                          -- _obj : TInterface "Soup" "Request"+    Ptr Gio.AsyncResult ->                  -- result : TInterface "Gio" "AsyncResult"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Gio.InputStream)+++requestSendFinish ::+    (MonadIO m, RequestK a, Gio.AsyncResultK b) =>+    a ->                                    -- _obj+    b ->                                    -- result+    m Gio.InputStream+requestSendFinish _obj result_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let result_' = unsafeManagedPtrCastPtr result_+    onException (do+        result <- propagateGError $ soup_request_send_finish _obj' result_'+        result' <- (wrapObject Gio.InputStream) result+        touchManagedPtr _obj+        touchManagedPtr result_+        return result'+     ) (do+        return ()+     )++-- object RequestData +newtype RequestData = RequestData (ForeignPtr RequestData)+noRequestData :: Maybe RequestData+noRequestData = Nothing++foreign import ccall "soup_request_data_get_type"+    c_soup_request_data_get_type :: IO GType++type instance ParentTypes RequestData = '[Request, GObject.Object, Gio.Initable]++instance GObject RequestData where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_request_data_get_type+    ++class GObject o => RequestDataK o+instance (GObject o, IsDescendantOf RequestData o) => RequestDataK o++toRequestData :: RequestDataK o => o -> IO RequestData+toRequestData = unsafeCastTo RequestData++-- Enum RequestError++data RequestError = +      RequestErrorBadUri+    | RequestErrorUnsupportedUriScheme+    | RequestErrorParsing+    | RequestErrorEncoding+    | AnotherRequestError Int+    deriving (Show, Eq)++instance Enum RequestError where+    fromEnum RequestErrorBadUri = 0+    fromEnum RequestErrorUnsupportedUriScheme = 1+    fromEnum RequestErrorParsing = 2+    fromEnum RequestErrorEncoding = 3+    fromEnum (AnotherRequestError k) = k++    toEnum 0 = RequestErrorBadUri+    toEnum 1 = RequestErrorUnsupportedUriScheme+    toEnum 2 = RequestErrorParsing+    toEnum 3 = RequestErrorEncoding+    toEnum k = AnotherRequestError k++instance GErrorClass RequestError where+    gerrorClassDomain _ = "soup_request_error_quark"++catchRequestError ::+    IO a ->+    (RequestError -> GErrorMessage -> IO a) ->+    IO a+catchRequestError = catchGErrorJustDomain++handleRequestError ::+    (RequestError -> GErrorMessage -> IO a) ->+    IO a ->+    IO a+handleRequestError = handleGErrorJustDomain++foreign import ccall "soup_request_error_get_type" c_soup_request_error_get_type :: +    IO GType++instance BoxedEnum RequestError where+    boxedEnumType _ = c_soup_request_error_get_type++-- object RequestFile +newtype RequestFile = RequestFile (ForeignPtr RequestFile)+noRequestFile :: Maybe RequestFile+noRequestFile = Nothing++foreign import ccall "soup_request_file_get_type"+    c_soup_request_file_get_type :: IO GType++type instance ParentTypes RequestFile = '[Request, GObject.Object, Gio.Initable]++instance GObject RequestFile where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_request_file_get_type+    ++class GObject o => RequestFileK o+instance (GObject o, IsDescendantOf RequestFile o) => RequestFileK o++toRequestFile :: RequestFileK o => o -> IO RequestFile+toRequestFile = unsafeCastTo RequestFile++-- method RequestFile::get_file+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "RequestFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "RequestFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "File"+-- throws : False+-- Skip return : False++foreign import ccall "soup_request_file_get_file" soup_request_file_get_file :: +    Ptr RequestFile ->                      -- _obj : TInterface "Soup" "RequestFile"+    IO (Ptr Gio.File)+++requestFileGetFile ::+    (MonadIO m, RequestFileK a) =>+    a ->                                    -- _obj+    m Gio.File+requestFileGetFile _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_request_file_get_file _obj'+    result' <- (wrapObject Gio.File) result+    touchManagedPtr _obj+    return result'++-- object RequestHTTP +newtype RequestHTTP = RequestHTTP (ForeignPtr RequestHTTP)+noRequestHTTP :: Maybe RequestHTTP+noRequestHTTP = Nothing++foreign import ccall "soup_request_http_get_type"+    c_soup_request_http_get_type :: IO GType++type instance ParentTypes RequestHTTP = '[Request, GObject.Object, Gio.Initable]++instance GObject RequestHTTP where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_request_http_get_type+    ++class GObject o => RequestHTTPK o+instance (GObject o, IsDescendantOf RequestHTTP o) => RequestHTTPK o++toRequestHTTP :: RequestHTTPK o => o -> IO RequestHTTP+toRequestHTTP = unsafeCastTo RequestHTTP++-- method RequestHTTP::get_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "RequestHTTP", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "RequestHTTP", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Message"+-- throws : False+-- Skip return : False++foreign import ccall "soup_request_http_get_message" soup_request_http_get_message :: +    Ptr RequestHTTP ->                      -- _obj : TInterface "Soup" "RequestHTTP"+    IO (Ptr Message)+++requestHTTPGetMessage ::+    (MonadIO m, RequestHTTPK a) =>+    a ->                                    -- _obj+    m Message+requestHTTPGetMessage _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_request_http_get_message _obj'+    result' <- (wrapObject Message) result+    touchManagedPtr _obj+    return result'++-- object Requester +newtype Requester = Requester (ForeignPtr Requester)+noRequester :: Maybe Requester+noRequester = Nothing++foreign import ccall "soup_requester_get_type"+    c_soup_requester_get_type :: IO GType++type instance ParentTypes Requester = '[GObject.Object, SessionFeature]++instance GObject Requester where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_requester_get_type+    ++class GObject o => RequesterK o+instance (GObject o, IsDescendantOf Requester o) => RequesterK o++toRequester :: RequesterK o => o -> IO Requester+toRequester = unsafeCastTo Requester++-- method Requester::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Soup" "Requester"+-- throws : False+-- Skip return : False++foreign import ccall "soup_requester_new" soup_requester_new :: +    IO (Ptr Requester)+++requesterNew ::+    (MonadIO m) =>+    m Requester+requesterNew  = liftIO $ do+    result <- soup_requester_new+    result' <- (wrapObject Requester) result+    return result'++-- method Requester::request+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Request"+-- throws : True+-- Skip return : False++foreign import ccall "soup_requester_request" soup_requester_request :: +    Ptr Requester ->                        -- _obj : TInterface "Soup" "Requester"+    CString ->                              -- uri_string : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Request)+++requesterRequest ::+    (MonadIO m, RequesterK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- uri_string+    m Request+requesterRequest _obj uri_string = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    uri_string' <- textToCString uri_string+    onException (do+        result <- propagateGError $ soup_requester_request _obj' uri_string'+        result' <- (wrapObject Request) result+        touchManagedPtr _obj+        freeMem uri_string'+        return result'+     ) (do+        freeMem uri_string'+     )++-- method Requester::request_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Requester", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Request"+-- throws : True+-- Skip return : False++foreign import ccall "soup_requester_request_uri" soup_requester_request_uri :: +    Ptr Requester ->                        -- _obj : TInterface "Soup" "Requester"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Request)+++requesterRequestUri ::+    (MonadIO m, RequesterK a) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    m Request+requesterRequestUri _obj uri = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    onException (do+        result <- propagateGError $ soup_requester_request_uri _obj' uri'+        result' <- (wrapObject Request) result+        touchManagedPtr _obj+        touchManagedPtr uri+        return result'+     ) (do+        return ()+     )++-- Enum RequesterError++data RequesterError = +      RequesterErrorBadUri+    | RequesterErrorUnsupportedUriScheme+    | AnotherRequesterError Int+    deriving (Show, Eq)++instance Enum RequesterError where+    fromEnum RequesterErrorBadUri = 0+    fromEnum RequesterErrorUnsupportedUriScheme = 1+    fromEnum (AnotherRequesterError k) = k++    toEnum 0 = RequesterErrorBadUri+    toEnum 1 = RequesterErrorUnsupportedUriScheme+    toEnum k = AnotherRequesterError k++instance GErrorClass RequesterError where+    gerrorClassDomain _ = "soup_requester_error_quark"++catchRequesterError ::+    IO a ->+    (RequesterError -> GErrorMessage -> IO a) ->+    IO a+catchRequesterError = catchGErrorJustDomain++handleRequesterError ::+    (RequesterError -> GErrorMessage -> IO a) ->+    IO a ->+    IO a+handleRequesterError = handleGErrorJustDomain++foreign import ccall "soup_requester_error_get_type" c_soup_requester_error_get_type :: +    IO GType++instance BoxedEnum RequesterError where+    boxedEnumType _ = c_soup_requester_error_get_type++-- object Server +newtype Server = Server (ForeignPtr Server)+noServer :: Maybe Server+noServer = Nothing++foreign import ccall "soup_server_get_type"+    c_soup_server_get_type :: IO GType++type instance ParentTypes Server = '[GObject.Object]++instance GObject Server where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_server_get_type+    ++class GObject o => ServerK o+instance (GObject o, IsDescendantOf Server o) => ServerK o++toServer :: ServerK o => o -> IO Server+toServer = unsafeCastTo Server++-- method Server::accept_iostream+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "local_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "remote_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "local_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "remote_addr", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_server_accept_iostream" soup_server_accept_iostream :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Ptr Gio.IOStream ->                     -- stream : TInterface "Gio" "IOStream"+    Ptr Gio.SocketAddress ->                -- local_addr : TInterface "Gio" "SocketAddress"+    Ptr Gio.SocketAddress ->                -- remote_addr : TInterface "Gio" "SocketAddress"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++serverAcceptIostream ::+    (MonadIO m, ServerK a, Gio.IOStreamK b, Gio.SocketAddressK c, Gio.SocketAddressK d) =>+    a ->                                    -- _obj+    b ->                                    -- stream+    Maybe (c) ->                            -- local_addr+    Maybe (d) ->                            -- remote_addr+    m ()+serverAcceptIostream _obj stream local_addr remote_addr = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let stream' = unsafeManagedPtrCastPtr stream+    maybeLocal_addr <- case local_addr of+        Nothing -> return nullPtr+        Just jLocal_addr -> do+            let jLocal_addr' = unsafeManagedPtrCastPtr jLocal_addr+            return jLocal_addr'+    maybeRemote_addr <- case remote_addr of+        Nothing -> return nullPtr+        Just jRemote_addr -> do+            let jRemote_addr' = unsafeManagedPtrCastPtr jRemote_addr+            return jRemote_addr'+    onException (do+        _ <- propagateGError $ soup_server_accept_iostream _obj' stream' maybeLocal_addr maybeRemote_addr+        touchManagedPtr _obj+        touchManagedPtr stream+        whenJust local_addr touchManagedPtr+        whenJust remote_addr touchManagedPtr+        return ()+     ) (do+        return ()+     )++-- method Server::add_auth_domain+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_add_auth_domain" soup_server_add_auth_domain :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Ptr AuthDomain ->                       -- auth_domain : TInterface "Soup" "AuthDomain"+    IO ()+++serverAddAuthDomain ::+    (MonadIO m, ServerK a, AuthDomainK b) =>+    a ->                                    -- _obj+    b ->                                    -- auth_domain+    m ()+serverAddAuthDomain _obj auth_domain = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let auth_domain' = unsafeManagedPtrCastPtr auth_domain+    soup_server_add_auth_domain _obj' auth_domain'+    touchManagedPtr _obj+    touchManagedPtr auth_domain+    return ()++-- method Server::add_early_handler+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "user_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" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_add_early_handler" soup_server_add_early_handler :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    CString ->                              -- path : TBasicType TUTF8+    FunPtr ServerCallbackC ->               -- callback : TInterface "Soup" "ServerCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- destroy : TInterface "GLib" "DestroyNotify"+    IO ()+++serverAddEarlyHandler ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    Maybe (T.Text) ->                       -- path+    ServerCallback ->                       -- callback+    m ()+serverAddEarlyHandler _obj path callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybePath <- case path of+        Nothing -> return nullPtr+        Just jPath -> do+            jPath' <- textToCString jPath+            return jPath'+    callback' <- mkServerCallback (serverCallbackWrapper Nothing callback)+    let user_data = castFunPtrToPtr callback'+    let destroy = safeFreeFunPtrPtr+    soup_server_add_early_handler _obj' maybePath callback' user_data destroy+    touchManagedPtr _obj+    freeMem maybePath+    return ()++-- method Server::add_handler+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "user_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" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_add_handler" soup_server_add_handler :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    CString ->                              -- path : TBasicType TUTF8+    FunPtr ServerCallbackC ->               -- callback : TInterface "Soup" "ServerCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- destroy : TInterface "GLib" "DestroyNotify"+    IO ()+++serverAddHandler ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    Maybe (T.Text) ->                       -- path+    ServerCallback ->                       -- callback+    m ()+serverAddHandler _obj path callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybePath <- case path of+        Nothing -> return nullPtr+        Just jPath -> do+            jPath' <- textToCString jPath+            return jPath'+    callback' <- mkServerCallback (serverCallbackWrapper Nothing callback)+    let user_data = castFunPtrToPtr callback'+    let destroy = safeFreeFunPtrPtr+    soup_server_add_handler _obj' maybePath callback' user_data destroy+    touchManagedPtr _obj+    freeMem maybePath+    return ()++-- method Server::add_websocket_handler+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerWebsocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 5, argDestroy = 6, transfer = TransferNothing},Arg {argName = "user_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" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "ServerWebsocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 5, argDestroy = 6, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_add_websocket_handler" soup_server_add_websocket_handler :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    CString ->                              -- path : TBasicType TUTF8+    CString ->                              -- origin : TBasicType TUTF8+    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)+    FunPtr ServerWebsocketCallbackC ->      -- callback : TInterface "Soup" "ServerWebsocketCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    FunPtr GLib.DestroyNotifyC ->           -- destroy : TInterface "GLib" "DestroyNotify"+    IO ()+++serverAddWebsocketHandler ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    Maybe (T.Text) ->                       -- path+    Maybe (T.Text) ->                       -- origin+    Maybe ([T.Text]) ->                     -- protocols+    ServerWebsocketCallback ->              -- callback+    m ()+serverAddWebsocketHandler _obj path origin protocols callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybePath <- case path of+        Nothing -> return nullPtr+        Just jPath -> do+            jPath' <- textToCString jPath+            return jPath'+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- textToCString jOrigin+            return jOrigin'+    maybeProtocols <- case protocols of+        Nothing -> return nullPtr+        Just jProtocols -> do+            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols+            return jProtocols'+    callback' <- mkServerWebsocketCallback (serverWebsocketCallbackWrapper Nothing callback)+    let user_data = castFunPtrToPtr callback'+    let destroy = safeFreeFunPtrPtr+    soup_server_add_websocket_handler _obj' maybePath maybeOrigin maybeProtocols callback' user_data destroy+    touchManagedPtr _obj+    freeMem maybePath+    freeMem maybeOrigin+    mapZeroTerminatedCArray freeMem maybeProtocols+    freeMem maybeProtocols+    return ()++-- method Server::disconnect+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_disconnect" soup_server_disconnect :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO ()+++serverDisconnect ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m ()+serverDisconnect _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_server_disconnect _obj'+    touchManagedPtr _obj+    return ()++-- method Server::get_async_context+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GLib" "MainContext"+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_get_async_context" soup_server_get_async_context :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO (Ptr GLib.MainContext)++{-# DEPRECATED serverGetAsyncContext ["If you are using soup_server_listen(), etc, then","the server listens on the thread-default #GMainContext, and this","property is ignored."]#-}+serverGetAsyncContext ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m GLib.MainContext+serverGetAsyncContext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_server_get_async_context _obj'+    result' <- (newBoxed GLib.MainContext) result+    touchManagedPtr _obj+    return result'++-- method Server::get_listener+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Socket"+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_get_listener" soup_server_get_listener :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO (Ptr Socket)++{-# DEPRECATED serverGetListener ["If you are using soup_server_listen(), etc, then use","soup_server_get_listeners() to get a list of all listening sockets,","but note that that function returns #GSockets, not #SoupSockets."]#-}+serverGetListener ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m Socket+serverGetListener _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_server_get_listener _obj'+    result' <- (newObject Socket) result+    touchManagedPtr _obj+    return result'++-- method Server::get_listeners+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Gio" "Socket")+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_get_listeners" soup_server_get_listeners :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO (Ptr (GSList (Ptr Gio.Socket)))+++serverGetListeners ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m [Gio.Socket]+serverGetListeners _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_server_get_listeners _obj'+    result' <- unpackGSList result+    result'' <- mapM (newObject Gio.Socket) result'+    g_slist_free result+    touchManagedPtr _obj+    return result''++-- method Server::get_port+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_get_port" soup_server_get_port :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO Word32++{-# DEPRECATED serverGetPort ["If you are using soup_server_listen(), etc, then use","soup_server_get_uris() to get a list of all listening addresses."]#-}+serverGetPort ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m Word32+serverGetPort _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_server_get_port _obj'+    touchManagedPtr _obj+    return result++-- method Server::get_uris+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Soup" "URI")+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_get_uris" soup_server_get_uris :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO (Ptr (GSList (Ptr URI)))+++serverGetUris ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m [URI]+serverGetUris _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_server_get_uris _obj'+    result' <- unpackGSList result+    result'' <- mapM (wrapBoxed URI) result'+    g_slist_free result+    touchManagedPtr _obj+    return result''++-- method Server::is_https+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_is_https" soup_server_is_https :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO CInt+++serverIsHttps ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m Bool+serverIsHttps _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_server_is_https _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Server::listen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_server_listen" soup_server_listen :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Ptr Gio.SocketAddress ->                -- address : TInterface "Gio" "SocketAddress"+    CUInt ->                                -- options : TInterface "Soup" "ServerListenOptions"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++serverListen ::+    (MonadIO m, ServerK a, Gio.SocketAddressK b) =>+    a ->                                    -- _obj+    b ->                                    -- address+    [ServerListenOptions] ->                -- options+    m ()+serverListen _obj address options = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let address' = unsafeManagedPtrCastPtr address+    let options' = gflagsToWord options+    onException (do+        _ <- propagateGError $ soup_server_listen _obj' address' options'+        touchManagedPtr _obj+        touchManagedPtr address+        return ()+     ) (do+        return ()+     )++-- method Server::listen_all+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_server_listen_all" soup_server_listen_all :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Word32 ->                               -- port : TBasicType TUInt32+    CUInt ->                                -- options : TInterface "Soup" "ServerListenOptions"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++serverListenAll ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- port+    [ServerListenOptions] ->                -- options+    m ()+serverListenAll _obj port options = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let options' = gflagsToWord options+    onException (do+        _ <- propagateGError $ soup_server_listen_all _obj' port options'+        touchManagedPtr _obj+        return ()+     ) (do+        return ()+     )++-- method Server::listen_fd+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_server_listen_fd" soup_server_listen_fd :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Int32 ->                                -- fd : TBasicType TInt32+    CUInt ->                                -- options : TInterface "Soup" "ServerListenOptions"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++serverListenFd ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- fd+    [ServerListenOptions] ->                -- options+    m ()+serverListenFd _obj fd options = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let options' = gflagsToWord options+    onException (do+        _ <- propagateGError $ soup_server_listen_fd _obj' fd options'+        touchManagedPtr _obj+        return ()+     ) (do+        return ()+     )++-- method Server::listen_local+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_server_listen_local" soup_server_listen_local :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Word32 ->                               -- port : TBasicType TUInt32+    CUInt ->                                -- options : TInterface "Soup" "ServerListenOptions"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++serverListenLocal ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- port+    [ServerListenOptions] ->                -- options+    m ()+serverListenLocal _obj port options = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let options' = gflagsToWord options+    onException (do+        _ <- propagateGError $ soup_server_listen_local _obj' port options'+        touchManagedPtr _obj+        return ()+     ) (do+        return ()+     )++-- method Server::listen_socket+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "socket", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "socket", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "Soup" "ServerListenOptions", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_server_listen_socket" soup_server_listen_socket :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Ptr Gio.Socket ->                       -- socket : TInterface "Gio" "Socket"+    CUInt ->                                -- options : TInterface "Soup" "ServerListenOptions"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++serverListenSocket ::+    (MonadIO m, ServerK a, Gio.SocketK b) =>+    a ->                                    -- _obj+    b ->                                    -- socket+    [ServerListenOptions] ->                -- options+    m ()+serverListenSocket _obj socket options = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let socket' = unsafeManagedPtrCastPtr socket+    let options' = gflagsToWord options+    onException (do+        _ <- propagateGError $ soup_server_listen_socket _obj' socket' options'+        touchManagedPtr _obj+        touchManagedPtr socket+        return ()+     ) (do+        return ()+     )++-- method Server::pause_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_pause_message" soup_server_pause_message :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO ()+++serverPauseMessage ::+    (MonadIO m, ServerK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m ()+serverPauseMessage _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    soup_server_pause_message _obj' msg'+    touchManagedPtr _obj+    touchManagedPtr msg+    return ()++-- method Server::quit+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_quit" soup_server_quit :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO ()++{-# DEPRECATED serverQuit ["When using soup_server_listen(), etc, the server will","always listen for connections, and will process them whenever the","thread-default #GMainContext is running."]#-}+serverQuit ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m ()+serverQuit _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_server_quit _obj'+    touchManagedPtr _obj+    return ()++-- method Server::remove_auth_domain+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auth_domain", argType = TInterface "Soup" "AuthDomain", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_remove_auth_domain" soup_server_remove_auth_domain :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Ptr AuthDomain ->                       -- auth_domain : TInterface "Soup" "AuthDomain"+    IO ()+++serverRemoveAuthDomain ::+    (MonadIO m, ServerK a, AuthDomainK b) =>+    a ->                                    -- _obj+    b ->                                    -- auth_domain+    m ()+serverRemoveAuthDomain _obj auth_domain = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let auth_domain' = unsafeManagedPtrCastPtr auth_domain+    soup_server_remove_auth_domain _obj' auth_domain'+    touchManagedPtr _obj+    touchManagedPtr auth_domain+    return ()++-- method Server::remove_handler+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_remove_handler" soup_server_remove_handler :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    CString ->                              -- path : TBasicType TUTF8+    IO ()+++serverRemoveHandler ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- path+    m ()+serverRemoveHandler _obj path = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    path' <- textToCString path+    soup_server_remove_handler _obj' path'+    touchManagedPtr _obj+    freeMem path'+    return ()++-- method Server::run+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_run" soup_server_run :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO ()++{-# DEPRECATED serverRun ["When using soup_server_listen(), etc, the server will","always listen for connections, and will process them whenever the","thread-default #GMainContext is running."]#-}+serverRun ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m ()+serverRun _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_server_run _obj'+    touchManagedPtr _obj+    return ()++-- method Server::run_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_run_async" soup_server_run_async :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    IO ()++{-# DEPRECATED serverRunAsync ["When using soup_server_listen(), etc, the server will","always listen for connections, and will process them whenever the","thread-default #GMainContext is running."]#-}+serverRunAsync ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    m ()+serverRunAsync _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_server_run_async _obj'+    touchManagedPtr _obj+    return ()++-- method Server::set_ssl_cert_file+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_cert_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_key_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_cert_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_key_file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_server_set_ssl_cert_file" soup_server_set_ssl_cert_file :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    CString ->                              -- ssl_cert_file : TBasicType TUTF8+    CString ->                              -- ssl_key_file : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++serverSetSslCertFile ::+    (MonadIO m, ServerK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- ssl_cert_file+    T.Text ->                               -- ssl_key_file+    m ()+serverSetSslCertFile _obj ssl_cert_file ssl_key_file = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    ssl_cert_file' <- textToCString ssl_cert_file+    ssl_key_file' <- textToCString ssl_key_file+    onException (do+        _ <- propagateGError $ soup_server_set_ssl_cert_file _obj' ssl_cert_file' ssl_key_file'+        touchManagedPtr _obj+        freeMem ssl_cert_file'+        freeMem ssl_key_file'+        return ()+     ) (do+        freeMem ssl_cert_file'+        freeMem ssl_key_file'+     )++-- method Server::unpause_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Server", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_server_unpause_message" soup_server_unpause_message :: +    Ptr Server ->                           -- _obj : TInterface "Soup" "Server"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO ()+++serverUnpauseMessage ::+    (MonadIO m, ServerK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m ()+serverUnpauseMessage _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    soup_server_unpause_message _obj' msg'+    touchManagedPtr _obj+    touchManagedPtr msg+    return ()++-- signal Server::request-aborted+type ServerRequestAbortedCallback =+    Message ->+    ClientContext ->+    IO ()++noServerRequestAbortedCallback :: Maybe ServerRequestAbortedCallback+noServerRequestAbortedCallback = Nothing++type ServerRequestAbortedCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr ClientContext ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkServerRequestAbortedCallback :: ServerRequestAbortedCallbackC -> IO (FunPtr ServerRequestAbortedCallbackC)++serverRequestAbortedClosure :: ServerRequestAbortedCallback -> IO Closure+serverRequestAbortedClosure cb = newCClosure =<< mkServerRequestAbortedCallback wrapped+    where wrapped = serverRequestAbortedCallbackWrapper cb++serverRequestAbortedCallbackWrapper ::+    ServerRequestAbortedCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr ClientContext ->+    Ptr () ->+    IO ()+serverRequestAbortedCallbackWrapper _cb _ message client _ = do+    message' <- (newObject Message) message+    client' <- (newBoxed ClientContext) client+    _cb  message' client'++onServerRequestAborted :: (GObject a, MonadIO m) => a -> ServerRequestAbortedCallback -> m SignalHandlerId+onServerRequestAborted obj cb = liftIO $ connectServerRequestAborted obj cb SignalConnectBefore+afterServerRequestAborted :: (GObject a, MonadIO m) => a -> ServerRequestAbortedCallback -> m SignalHandlerId+afterServerRequestAborted obj cb = connectServerRequestAborted obj cb SignalConnectAfter++connectServerRequestAborted :: (GObject a, MonadIO m) =>+                               a -> ServerRequestAbortedCallback -> SignalConnectMode -> m SignalHandlerId+connectServerRequestAborted obj cb after = liftIO $ do+    cb' <- mkServerRequestAbortedCallback (serverRequestAbortedCallbackWrapper cb)+    connectSignalFunPtr obj "request-aborted" cb' after++-- signal Server::request-finished+type ServerRequestFinishedCallback =+    Message ->+    ClientContext ->+    IO ()++noServerRequestFinishedCallback :: Maybe ServerRequestFinishedCallback+noServerRequestFinishedCallback = Nothing++type ServerRequestFinishedCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr ClientContext ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkServerRequestFinishedCallback :: ServerRequestFinishedCallbackC -> IO (FunPtr ServerRequestFinishedCallbackC)++serverRequestFinishedClosure :: ServerRequestFinishedCallback -> IO Closure+serverRequestFinishedClosure cb = newCClosure =<< mkServerRequestFinishedCallback wrapped+    where wrapped = serverRequestFinishedCallbackWrapper cb++serverRequestFinishedCallbackWrapper ::+    ServerRequestFinishedCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr ClientContext ->+    Ptr () ->+    IO ()+serverRequestFinishedCallbackWrapper _cb _ message client _ = do+    message' <- (newObject Message) message+    client' <- (newBoxed ClientContext) client+    _cb  message' client'++onServerRequestFinished :: (GObject a, MonadIO m) => a -> ServerRequestFinishedCallback -> m SignalHandlerId+onServerRequestFinished obj cb = liftIO $ connectServerRequestFinished obj cb SignalConnectBefore+afterServerRequestFinished :: (GObject a, MonadIO m) => a -> ServerRequestFinishedCallback -> m SignalHandlerId+afterServerRequestFinished obj cb = connectServerRequestFinished obj cb SignalConnectAfter++connectServerRequestFinished :: (GObject a, MonadIO m) =>+                                a -> ServerRequestFinishedCallback -> SignalConnectMode -> m SignalHandlerId+connectServerRequestFinished obj cb after = liftIO $ do+    cb' <- mkServerRequestFinishedCallback (serverRequestFinishedCallbackWrapper cb)+    connectSignalFunPtr obj "request-finished" cb' after++-- signal Server::request-read+type ServerRequestReadCallback =+    Message ->+    ClientContext ->+    IO ()++noServerRequestReadCallback :: Maybe ServerRequestReadCallback+noServerRequestReadCallback = Nothing++type ServerRequestReadCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr ClientContext ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkServerRequestReadCallback :: ServerRequestReadCallbackC -> IO (FunPtr ServerRequestReadCallbackC)++serverRequestReadClosure :: ServerRequestReadCallback -> IO Closure+serverRequestReadClosure cb = newCClosure =<< mkServerRequestReadCallback wrapped+    where wrapped = serverRequestReadCallbackWrapper cb++serverRequestReadCallbackWrapper ::+    ServerRequestReadCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr ClientContext ->+    Ptr () ->+    IO ()+serverRequestReadCallbackWrapper _cb _ message client _ = do+    message' <- (newObject Message) message+    client' <- (newBoxed ClientContext) client+    _cb  message' client'++onServerRequestRead :: (GObject a, MonadIO m) => a -> ServerRequestReadCallback -> m SignalHandlerId+onServerRequestRead obj cb = liftIO $ connectServerRequestRead obj cb SignalConnectBefore+afterServerRequestRead :: (GObject a, MonadIO m) => a -> ServerRequestReadCallback -> m SignalHandlerId+afterServerRequestRead obj cb = connectServerRequestRead obj cb SignalConnectAfter++connectServerRequestRead :: (GObject a, MonadIO m) =>+                            a -> ServerRequestReadCallback -> SignalConnectMode -> m SignalHandlerId+connectServerRequestRead obj cb after = liftIO $ do+    cb' <- mkServerRequestReadCallback (serverRequestReadCallbackWrapper cb)+    connectSignalFunPtr obj "request-read" cb' after++-- signal Server::request-started+type ServerRequestStartedCallback =+    Message ->+    ClientContext ->+    IO ()++noServerRequestStartedCallback :: Maybe ServerRequestStartedCallback+noServerRequestStartedCallback = Nothing++type ServerRequestStartedCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr ClientContext ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkServerRequestStartedCallback :: ServerRequestStartedCallbackC -> IO (FunPtr ServerRequestStartedCallbackC)++serverRequestStartedClosure :: ServerRequestStartedCallback -> IO Closure+serverRequestStartedClosure cb = newCClosure =<< mkServerRequestStartedCallback wrapped+    where wrapped = serverRequestStartedCallbackWrapper cb++serverRequestStartedCallbackWrapper ::+    ServerRequestStartedCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr ClientContext ->+    Ptr () ->+    IO ()+serverRequestStartedCallbackWrapper _cb _ message client _ = do+    message' <- (newObject Message) message+    client' <- (newBoxed ClientContext) client+    _cb  message' client'++onServerRequestStarted :: (GObject a, MonadIO m) => a -> ServerRequestStartedCallback -> m SignalHandlerId+onServerRequestStarted obj cb = liftIO $ connectServerRequestStarted obj cb SignalConnectBefore+afterServerRequestStarted :: (GObject a, MonadIO m) => a -> ServerRequestStartedCallback -> m SignalHandlerId+afterServerRequestStarted obj cb = connectServerRequestStarted obj cb SignalConnectAfter++connectServerRequestStarted :: (GObject a, MonadIO m) =>+                               a -> ServerRequestStartedCallback -> SignalConnectMode -> m SignalHandlerId+connectServerRequestStarted obj cb after = liftIO $ do+    cb' <- mkServerRequestStartedCallback (serverRequestStartedCallbackWrapper cb)+    connectSignalFunPtr obj "request-started" cb' after++-- callback ServerCallback+serverCallbackClosure :: ServerCallback -> IO Closure+serverCallbackClosure cb = newCClosure =<< mkServerCallback wrapped+    where wrapped = serverCallbackWrapper Nothing cb++type ServerCallbackC =+    Ptr Server ->+    Ptr Message ->+    CString ->+    Ptr (GHashTable CString CString) ->+    Ptr ClientContext ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkServerCallback :: ServerCallbackC -> IO (FunPtr ServerCallbackC)++type ServerCallback =+    Server ->+    Message ->+    T.Text ->+    Maybe (Map.Map T.Text T.Text) ->+    ClientContext ->+    IO ()++noServerCallback :: Maybe ServerCallback+noServerCallback = Nothing++serverCallbackWrapper ::+    Maybe (Ptr (FunPtr (ServerCallbackC))) ->+    ServerCallback ->+    Ptr Server ->+    Ptr Message ->+    CString ->+    Ptr (GHashTable CString CString) ->+    Ptr ClientContext ->+    Ptr () ->+    IO ()+serverCallbackWrapper funptrptr _cb server msg path query client _ = do+    server' <- (newObject Server) server+    msg' <- (newObject Message) msg+    path' <- cstringToText path+    maybeQuery <-+        if query == nullPtr+        then return Nothing+        else do+            query' <- unpackGHashTable query+            let query'' = mapFirst cstringUnpackPtr query'+            query''' <- mapFirstA cstringToText query''+            let query'''' = mapSecond cstringUnpackPtr query'''+            query''''' <- mapSecondA cstringToText query''''+            let query'''''' = Map.fromList query'''''+            return $ Just query''''''+    client' <- (newBoxed ClientContext) client+    _cb  server' msg' path' maybeQuery client'+    maybeReleaseFunPtr funptrptr++-- Flags ServerListenOptions++data ServerListenOptions = +      ServerListenOptionsHttps+    | ServerListenOptionsIpv4Only+    | ServerListenOptionsIpv6Only+    | AnotherServerListenOptions Int+    deriving (Show, Eq)++instance Enum ServerListenOptions where+    fromEnum ServerListenOptionsHttps = 1+    fromEnum ServerListenOptionsIpv4Only = 2+    fromEnum ServerListenOptionsIpv6Only = 4+    fromEnum (AnotherServerListenOptions k) = k++    toEnum 1 = ServerListenOptionsHttps+    toEnum 2 = ServerListenOptionsIpv4Only+    toEnum 4 = ServerListenOptionsIpv6Only+    toEnum k = AnotherServerListenOptions k++foreign import ccall "soup_server_listen_options_get_type" c_soup_server_listen_options_get_type :: +    IO GType++instance BoxedEnum ServerListenOptions where+    boxedEnumType _ = c_soup_server_listen_options_get_type++instance IsGFlag ServerListenOptions++-- callback ServerWebsocketCallback+serverWebsocketCallbackClosure :: ServerWebsocketCallback -> IO Closure+serverWebsocketCallbackClosure cb = newCClosure =<< mkServerWebsocketCallback wrapped+    where wrapped = serverWebsocketCallbackWrapper Nothing cb++type ServerWebsocketCallbackC =+    Ptr Server ->+    Ptr WebsocketConnection ->+    CString ->+    Ptr ClientContext ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkServerWebsocketCallback :: ServerWebsocketCallbackC -> IO (FunPtr ServerWebsocketCallbackC)++type ServerWebsocketCallback =+    Server ->+    WebsocketConnection ->+    T.Text ->+    ClientContext ->+    IO ()++noServerWebsocketCallback :: Maybe ServerWebsocketCallback+noServerWebsocketCallback = Nothing++serverWebsocketCallbackWrapper ::+    Maybe (Ptr (FunPtr (ServerWebsocketCallbackC))) ->+    ServerWebsocketCallback ->+    Ptr Server ->+    Ptr WebsocketConnection ->+    CString ->+    Ptr ClientContext ->+    Ptr () ->+    IO ()+serverWebsocketCallbackWrapper funptrptr _cb server connection path client _ = do+    server' <- (newObject Server) server+    connection' <- (newObject WebsocketConnection) connection+    path' <- cstringToText path+    client' <- (newBoxed ClientContext) client+    _cb  server' connection' path' client'+    maybeReleaseFunPtr funptrptr++-- object Session +newtype Session = Session (ForeignPtr Session)+noSession :: Maybe Session+noSession = Nothing++foreign import ccall "soup_session_get_type"+    c_soup_session_get_type :: IO GType++type instance ParentTypes Session = '[GObject.Object]++instance GObject Session where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_session_get_type+    ++class GObject o => SessionK o+instance (GObject o, IsDescendantOf Session o) => SessionK o++toSession :: SessionK o => o -> IO Session+toSession = unsafeCastTo Session++-- method Session::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Soup" "Session"+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_new" soup_session_new :: +    IO (Ptr Session)+++sessionNew ::+    (MonadIO m) =>+    m Session+sessionNew  = liftIO $ do+    result <- soup_session_new+    result' <- (wrapObject Session) result+    return result'++-- method Session::abort+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", 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_session_abort" soup_session_abort :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    IO ()+++sessionAbort ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    m ()+sessionAbort _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_session_abort _obj'+    touchManagedPtr _obj+    return ()++-- method Session::add_feature+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_add_feature" soup_session_add_feature :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr SessionFeature ->                   -- feature : TInterface "Soup" "SessionFeature"+    IO ()+++sessionAddFeature ::+    (MonadIO m, SessionK a, SessionFeatureK b) =>+    a ->                                    -- _obj+    b ->                                    -- feature+    m ()+sessionAddFeature _obj feature = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature' = unsafeManagedPtrCastPtr feature+    soup_session_add_feature _obj' feature'+    touchManagedPtr _obj+    touchManagedPtr feature+    return ()++-- method Session::add_feature_by_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_add_feature_by_type" soup_session_add_feature_by_type :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CGType ->                               -- feature_type : TBasicType TGType+    IO ()+++sessionAddFeatureByType ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    GType ->                                -- feature_type+    m ()+sessionAddFeatureByType _obj feature_type = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature_type' = gtypeToCGType feature_type+    soup_session_add_feature_by_type _obj' feature_type'+    touchManagedPtr _obj+    return ()++-- method Session::cancel_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_cancel_message" soup_session_cancel_message :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    Word32 ->                               -- status_code : TBasicType TUInt32+    IO ()+++sessionCancelMessage ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    Word32 ->                               -- status_code+    m ()+sessionCancelMessage _obj msg status_code = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    soup_session_cancel_message _obj' msg' status_code+    touchManagedPtr _obj+    touchManagedPtr msg+    return ()++-- method Session::get_async_context+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GLib" "MainContext"+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_get_async_context" soup_session_get_async_context :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    IO (Ptr GLib.MainContext)+++sessionGetAsyncContext ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    m GLib.MainContext+sessionGetAsyncContext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_session_get_async_context _obj'+    result' <- (newBoxed GLib.MainContext) result+    touchManagedPtr _obj+    return result'++-- method Session::get_feature+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "SessionFeature"+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_get_feature" soup_session_get_feature :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CGType ->                               -- feature_type : TBasicType TGType+    IO (Ptr SessionFeature)+++sessionGetFeature ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    GType ->                                -- feature_type+    m SessionFeature+sessionGetFeature _obj feature_type = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature_type' = gtypeToCGType feature_type+    result <- soup_session_get_feature _obj' feature_type'+    result' <- (newObject SessionFeature) result+    touchManagedPtr _obj+    return result'++-- method Session::get_feature_for_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "SessionFeature"+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_get_feature_for_message" soup_session_get_feature_for_message :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CGType ->                               -- feature_type : TBasicType TGType+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO (Ptr SessionFeature)+++sessionGetFeatureForMessage ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    GType ->                                -- feature_type+    b ->                                    -- msg+    m SessionFeature+sessionGetFeatureForMessage _obj feature_type msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature_type' = gtypeToCGType feature_type+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_session_get_feature_for_message _obj' feature_type' msg'+    result' <- (newObject SessionFeature) result+    touchManagedPtr _obj+    touchManagedPtr msg+    return result'++-- method Session::get_features+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Soup" "SessionFeature")+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_get_features" soup_session_get_features :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CGType ->                               -- feature_type : TBasicType TGType+    IO (Ptr (GSList (Ptr SessionFeature)))+++sessionGetFeatures ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    GType ->                                -- feature_type+    m [SessionFeature]+sessionGetFeatures _obj feature_type = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature_type' = gtypeToCGType feature_type+    result <- soup_session_get_features _obj' feature_type'+    result' <- unpackGSList result+    result'' <- mapM (newObject SessionFeature) result'+    g_slist_free result+    touchManagedPtr _obj+    return result''++-- method Session::has_feature+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_has_feature" soup_session_has_feature :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CGType ->                               -- feature_type : TBasicType TGType+    IO CInt+++sessionHasFeature ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    GType ->                                -- feature_type+    m Bool+sessionHasFeature _obj feature_type = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature_type' = gtypeToCGType feature_type+    result <- soup_session_has_feature _obj' feature_type'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Session::pause_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_pause_message" soup_session_pause_message :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO ()+++sessionPauseMessage ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m ()+sessionPauseMessage _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    soup_session_pause_message _obj' msg'+    touchManagedPtr _obj+    touchManagedPtr msg+    return ()++-- method Session::prefetch_dns+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "AddressCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_prefetch_dns" soup_session_prefetch_dns :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CString ->                              -- hostname : TBasicType TUTF8+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr AddressCallbackC ->              -- callback : TInterface "Soup" "AddressCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++sessionPrefetchDns ::+    (MonadIO m, SessionK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    T.Text ->                               -- hostname+    Maybe (b) ->                            -- cancellable+    Maybe (AddressCallback) ->              -- callback+    m ()+sessionPrefetchDns _obj hostname cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    hostname' <- textToCString hostname+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr AddressCallbackC)+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            jCallback' <- mkAddressCallback (addressCallbackWrapper (Just ptrcallback) jCallback)+            poke ptrcallback jCallback'+            return jCallback'+    let user_data = nullPtr+    soup_session_prefetch_dns _obj' hostname' maybeCancellable maybeCallback user_data+    touchManagedPtr _obj+    whenJust cancellable touchManagedPtr+    freeMem hostname'+    return ()++-- method Session::prepare_for_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_prepare_for_uri" soup_session_prepare_for_uri :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    IO ()++{-# DEPRECATED sessionPrepareForUri ["(Since version 2.38)","use soup_session_prefetch_dns() instead"]#-}+sessionPrepareForUri ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    m ()+sessionPrepareForUri _obj uri = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    soup_session_prepare_for_uri _obj' uri'+    touchManagedPtr _obj+    touchManagedPtr uri+    return ()++-- method Session::queue_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "callback", argType = TInterface "Soup" "SessionCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "callback", argType = TInterface "Soup" "SessionCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_queue_message" soup_session_queue_message :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    FunPtr SessionCallbackC ->              -- callback : TInterface "Soup" "SessionCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++sessionQueueMessage ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    Maybe (SessionCallback) ->              -- callback+    m ()+sessionQueueMessage _obj msg callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    msg' <- refObject msg+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr SessionCallbackC)+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            jCallback' <- mkSessionCallback (sessionCallbackWrapper (Just ptrcallback) jCallback)+            poke ptrcallback jCallback'+            return jCallback'+    let user_data = nullPtr+    soup_session_queue_message _obj' msg' maybeCallback user_data+    touchManagedPtr _obj+    touchManagedPtr msg+    return ()++-- method Session::redirect_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_redirect_message" soup_session_redirect_message :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO CInt+++sessionRedirectMessage ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m Bool+sessionRedirectMessage _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_session_redirect_message _obj' msg'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr msg+    return result'++-- method Session::remove_feature+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_remove_feature" soup_session_remove_feature :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr SessionFeature ->                   -- feature : TInterface "Soup" "SessionFeature"+    IO ()+++sessionRemoveFeature ::+    (MonadIO m, SessionK a, SessionFeatureK b) =>+    a ->                                    -- _obj+    b ->                                    -- feature+    m ()+sessionRemoveFeature _obj feature = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature' = unsafeManagedPtrCastPtr feature+    soup_session_remove_feature _obj' feature'+    touchManagedPtr _obj+    touchManagedPtr feature+    return ()++-- method Session::remove_feature_by_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "feature_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_remove_feature_by_type" soup_session_remove_feature_by_type :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CGType ->                               -- feature_type : TBasicType TGType+    IO ()+++sessionRemoveFeatureByType ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    GType ->                                -- feature_type+    m ()+sessionRemoveFeatureByType _obj feature_type = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let feature_type' = gtypeToCGType feature_type+    soup_session_remove_feature_by_type _obj' feature_type'+    touchManagedPtr _obj+    return ()++-- method Session::request+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Request"+-- throws : True+-- Skip return : False++foreign import ccall "soup_session_request" soup_session_request :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CString ->                              -- uri_string : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Request)+++sessionRequest ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- uri_string+    m Request+sessionRequest _obj uri_string = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    uri_string' <- textToCString uri_string+    onException (do+        result <- propagateGError $ soup_session_request _obj' uri_string'+        result' <- (wrapObject Request) result+        touchManagedPtr _obj+        freeMem uri_string'+        return result'+     ) (do+        freeMem uri_string'+     )++-- method Session::request_http+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "RequestHTTP"+-- throws : True+-- Skip return : False++foreign import ccall "soup_session_request_http" soup_session_request_http :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CString ->                              -- method : TBasicType TUTF8+    CString ->                              -- uri_string : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr RequestHTTP)+++sessionRequestHttp ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- method+    T.Text ->                               -- uri_string+    m RequestHTTP+sessionRequestHttp _obj method uri_string = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    method' <- textToCString method+    uri_string' <- textToCString uri_string+    onException (do+        result <- propagateGError $ soup_session_request_http _obj' method' uri_string'+        result' <- (wrapObject RequestHTTP) result+        touchManagedPtr _obj+        freeMem method'+        freeMem uri_string'+        return result'+     ) (do+        freeMem method'+        freeMem uri_string'+     )++-- method Session::request_http_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "RequestHTTP"+-- throws : True+-- Skip return : False++foreign import ccall "soup_session_request_http_uri" soup_session_request_http_uri :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    CString ->                              -- method : TBasicType TUTF8+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr RequestHTTP)+++sessionRequestHttpUri ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- method+    URI ->                                  -- uri+    m RequestHTTP+sessionRequestHttpUri _obj method uri = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    method' <- textToCString method+    let uri' = unsafeManagedPtrGetPtr uri+    onException (do+        result <- propagateGError $ soup_session_request_http_uri _obj' method' uri'+        result' <- (wrapObject RequestHTTP) result+        touchManagedPtr _obj+        touchManagedPtr uri+        freeMem method'+        return result'+     ) (do+        freeMem method'+     )++-- method Session::request_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Request"+-- throws : True+-- Skip return : False++foreign import ccall "soup_session_request_uri" soup_session_request_uri :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Request)+++sessionRequestUri ::+    (MonadIO m, SessionK a) =>+    a ->                                    -- _obj+    URI ->                                  -- uri+    m Request+sessionRequestUri _obj uri = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let uri' = unsafeManagedPtrGetPtr uri+    onException (do+        result <- propagateGError $ soup_session_request_uri _obj' uri'+        result' <- (wrapObject Request) result+        touchManagedPtr _obj+        touchManagedPtr uri+        return result'+     ) (do+        return ()+     )++-- method Session::requeue_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_requeue_message" soup_session_requeue_message :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO ()+++sessionRequeueMessage ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m ()+sessionRequeueMessage _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    soup_session_requeue_message _obj' msg'+    touchManagedPtr _obj+    touchManagedPtr msg+    return ()++-- method Session::send+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "InputStream"+-- throws : True+-- Skip return : False++foreign import ccall "soup_session_send" soup_session_send :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Gio.InputStream)+++sessionSend ::+    (MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    Maybe (c) ->                            -- cancellable+    m Gio.InputStream+sessionSend _obj msg cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ soup_session_send _obj' msg' maybeCancellable+        result' <- (wrapObject Gio.InputStream) result+        touchManagedPtr _obj+        touchManagedPtr msg+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++-- method Session::send_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 4, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_send_async" soup_session_send_async :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr Gio.AsyncReadyCallbackC ->       -- callback : TInterface "Gio" "AsyncReadyCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++sessionSendAsync ::+    (MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    Maybe (c) ->                            -- cancellable+    Maybe (Gio.AsyncReadyCallback) ->       -- callback+    m ()+sessionSendAsync _obj msg cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr Gio.AsyncReadyCallbackC)+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)+            poke ptrcallback jCallback'+            return jCallback'+    let user_data = nullPtr+    soup_session_send_async _obj' msg' maybeCancellable maybeCallback user_data+    touchManagedPtr _obj+    touchManagedPtr msg+    whenJust cancellable touchManagedPtr+    return ()++-- method Session::send_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "InputStream"+-- throws : True+-- Skip return : False++foreign import ccall "soup_session_send_finish" soup_session_send_finish :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Gio.AsyncResult ->                  -- result : TInterface "Gio" "AsyncResult"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Gio.InputStream)+++sessionSendFinish ::+    (MonadIO m, SessionK a, Gio.AsyncResultK b) =>+    a ->                                    -- _obj+    b ->                                    -- result+    m Gio.InputStream+sessionSendFinish _obj result_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let result_' = unsafeManagedPtrCastPtr result_+    onException (do+        result <- propagateGError $ soup_session_send_finish _obj' result_'+        result' <- (wrapObject Gio.InputStream) result+        touchManagedPtr _obj+        touchManagedPtr result_+        return result'+     ) (do+        return ()+     )++-- method Session::send_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_send_message" soup_session_send_message :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO Word32+++sessionSendMessage ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m Word32+sessionSendMessage _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_session_send_message _obj' msg'+    touchManagedPtr _obj+    touchManagedPtr msg+    return result++-- method Session::steal_connection+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "IOStream"+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_steal_connection" soup_session_steal_connection :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO (Ptr Gio.IOStream)+++sessionStealConnection ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m Gio.IOStream+sessionStealConnection _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_session_steal_connection _obj' msg'+    result' <- (wrapObject Gio.IOStream) result+    touchManagedPtr _obj+    touchManagedPtr msg+    return result'++-- method Session::unpause_message+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_unpause_message" soup_session_unpause_message :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO ()+++sessionUnpauseMessage ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m ()+sessionUnpauseMessage _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    soup_session_unpause_message _obj' msg'+    touchManagedPtr _obj+    touchManagedPtr msg+    return ()++-- method Session::websocket_connect_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 6, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Gio" "AsyncReadyCallback", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = 6, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_websocket_connect_async" soup_session_websocket_connect_async :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- origin : TBasicType TUTF8+    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr Gio.AsyncReadyCallbackC ->       -- callback : TInterface "Gio" "AsyncReadyCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++sessionWebsocketConnectAsync ::+    (MonadIO m, SessionK a, MessageK b, Gio.CancellableK c) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    Maybe (T.Text) ->                       -- origin+    Maybe ([T.Text]) ->                     -- protocols+    Maybe (c) ->                            -- cancellable+    Maybe (Gio.AsyncReadyCallback) ->       -- callback+    m ()+sessionWebsocketConnectAsync _obj msg origin protocols cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- textToCString jOrigin+            return jOrigin'+    maybeProtocols <- case protocols of+        Nothing -> return nullPtr+        Just jProtocols -> do+            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols+            return jProtocols'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr Gio.AsyncReadyCallbackC)+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            jCallback' <- Gio.mkAsyncReadyCallback (Gio.asyncReadyCallbackWrapper (Just ptrcallback) jCallback)+            poke ptrcallback jCallback'+            return jCallback'+    let user_data = nullPtr+    soup_session_websocket_connect_async _obj' msg' maybeOrigin maybeProtocols maybeCancellable maybeCallback user_data+    touchManagedPtr _obj+    touchManagedPtr msg+    whenJust cancellable touchManagedPtr+    freeMem maybeOrigin+    mapZeroTerminatedCArray freeMem maybeProtocols+    freeMem maybeProtocols+    return ()++-- method Session::websocket_connect_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "result", argType = TInterface "Gio" "AsyncResult", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "WebsocketConnection"+-- throws : True+-- Skip return : False++foreign import ccall "soup_session_websocket_connect_finish" soup_session_websocket_connect_finish :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Gio.AsyncResult ->                  -- result : TInterface "Gio" "AsyncResult"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr WebsocketConnection)+++sessionWebsocketConnectFinish ::+    (MonadIO m, SessionK a, Gio.AsyncResultK b) =>+    a ->                                    -- _obj+    b ->                                    -- result+    m WebsocketConnection+sessionWebsocketConnectFinish _obj result_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let result_' = unsafeManagedPtrCastPtr result_+    onException (do+        result <- propagateGError $ soup_session_websocket_connect_finish _obj' result_'+        result' <- (wrapObject WebsocketConnection) result+        touchManagedPtr _obj+        touchManagedPtr result_+        return result'+     ) (do+        return ()+     )++-- method Session::would_redirect+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Session", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_would_redirect" soup_session_would_redirect :: +    Ptr Session ->                          -- _obj : TInterface "Soup" "Session"+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO CInt+++sessionWouldRedirect ::+    (MonadIO m, SessionK a, MessageK b) =>+    a ->                                    -- _obj+    b ->                                    -- msg+    m Bool+sessionWouldRedirect _obj msg = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_session_would_redirect _obj' msg'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr msg+    return result'++-- signal Session::authenticate+type SessionAuthenticateCallback =+    Message ->+    Auth ->+    Bool ->+    IO ()++noSessionAuthenticateCallback :: Maybe SessionAuthenticateCallback+noSessionAuthenticateCallback = Nothing++type SessionAuthenticateCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr Auth ->+    CInt ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSessionAuthenticateCallback :: SessionAuthenticateCallbackC -> IO (FunPtr SessionAuthenticateCallbackC)++sessionAuthenticateClosure :: SessionAuthenticateCallback -> IO Closure+sessionAuthenticateClosure cb = newCClosure =<< mkSessionAuthenticateCallback wrapped+    where wrapped = sessionAuthenticateCallbackWrapper cb++sessionAuthenticateCallbackWrapper ::+    SessionAuthenticateCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr Auth ->+    CInt ->+    Ptr () ->+    IO ()+sessionAuthenticateCallbackWrapper _cb _ msg auth retrying _ = do+    msg' <- (newObject Message) msg+    auth' <- (newObject Auth) auth+    let retrying' = (/= 0) retrying+    _cb  msg' auth' retrying'++onSessionAuthenticate :: (GObject a, MonadIO m) => a -> SessionAuthenticateCallback -> m SignalHandlerId+onSessionAuthenticate obj cb = liftIO $ connectSessionAuthenticate obj cb SignalConnectBefore+afterSessionAuthenticate :: (GObject a, MonadIO m) => a -> SessionAuthenticateCallback -> m SignalHandlerId+afterSessionAuthenticate obj cb = connectSessionAuthenticate obj cb SignalConnectAfter++connectSessionAuthenticate :: (GObject a, MonadIO m) =>+                              a -> SessionAuthenticateCallback -> SignalConnectMode -> m SignalHandlerId+connectSessionAuthenticate obj cb after = liftIO $ do+    cb' <- mkSessionAuthenticateCallback (sessionAuthenticateCallbackWrapper cb)+    connectSignalFunPtr obj "authenticate" cb' after++-- signal Session::connection-created+type SessionConnectionCreatedCallback =+    GObject.Object ->+    IO ()++noSessionConnectionCreatedCallback :: Maybe SessionConnectionCreatedCallback+noSessionConnectionCreatedCallback = Nothing++type SessionConnectionCreatedCallbackC =+    Ptr () ->                               -- object+    Ptr GObject.Object ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSessionConnectionCreatedCallback :: SessionConnectionCreatedCallbackC -> IO (FunPtr SessionConnectionCreatedCallbackC)++sessionConnectionCreatedClosure :: SessionConnectionCreatedCallback -> IO Closure+sessionConnectionCreatedClosure cb = newCClosure =<< mkSessionConnectionCreatedCallback wrapped+    where wrapped = sessionConnectionCreatedCallbackWrapper cb++sessionConnectionCreatedCallbackWrapper ::+    SessionConnectionCreatedCallback ->+    Ptr () ->+    Ptr GObject.Object ->+    Ptr () ->+    IO ()+sessionConnectionCreatedCallbackWrapper _cb _ connection _ = do+    connection' <- (newObject GObject.Object) connection+    _cb  connection'++onSessionConnectionCreated :: (GObject a, MonadIO m) => a -> SessionConnectionCreatedCallback -> m SignalHandlerId+onSessionConnectionCreated obj cb = liftIO $ connectSessionConnectionCreated obj cb SignalConnectBefore+afterSessionConnectionCreated :: (GObject a, MonadIO m) => a -> SessionConnectionCreatedCallback -> m SignalHandlerId+afterSessionConnectionCreated obj cb = connectSessionConnectionCreated obj cb SignalConnectAfter++connectSessionConnectionCreated :: (GObject a, MonadIO m) =>+                                   a -> SessionConnectionCreatedCallback -> SignalConnectMode -> m SignalHandlerId+connectSessionConnectionCreated obj cb after = liftIO $ do+    cb' <- mkSessionConnectionCreatedCallback (sessionConnectionCreatedCallbackWrapper cb)+    connectSignalFunPtr obj "connection-created" cb' after++-- signal Session::request-queued+type SessionRequestQueuedCallback =+    Message ->+    IO ()++noSessionRequestQueuedCallback :: Maybe SessionRequestQueuedCallback+noSessionRequestQueuedCallback = Nothing++type SessionRequestQueuedCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSessionRequestQueuedCallback :: SessionRequestQueuedCallbackC -> IO (FunPtr SessionRequestQueuedCallbackC)++sessionRequestQueuedClosure :: SessionRequestQueuedCallback -> IO Closure+sessionRequestQueuedClosure cb = newCClosure =<< mkSessionRequestQueuedCallback wrapped+    where wrapped = sessionRequestQueuedCallbackWrapper cb++sessionRequestQueuedCallbackWrapper ::+    SessionRequestQueuedCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr () ->+    IO ()+sessionRequestQueuedCallbackWrapper _cb _ msg _ = do+    msg' <- (newObject Message) msg+    _cb  msg'++onSessionRequestQueued :: (GObject a, MonadIO m) => a -> SessionRequestQueuedCallback -> m SignalHandlerId+onSessionRequestQueued obj cb = liftIO $ connectSessionRequestQueued obj cb SignalConnectBefore+afterSessionRequestQueued :: (GObject a, MonadIO m) => a -> SessionRequestQueuedCallback -> m SignalHandlerId+afterSessionRequestQueued obj cb = connectSessionRequestQueued obj cb SignalConnectAfter++connectSessionRequestQueued :: (GObject a, MonadIO m) =>+                               a -> SessionRequestQueuedCallback -> SignalConnectMode -> m SignalHandlerId+connectSessionRequestQueued obj cb after = liftIO $ do+    cb' <- mkSessionRequestQueuedCallback (sessionRequestQueuedCallbackWrapper cb)+    connectSignalFunPtr obj "request-queued" cb' after++-- signal Session::request-started+type SessionRequestStartedCallback =+    Message ->+    Socket ->+    IO ()++noSessionRequestStartedCallback :: Maybe SessionRequestStartedCallback+noSessionRequestStartedCallback = Nothing++type SessionRequestStartedCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr Socket ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSessionRequestStartedCallback :: SessionRequestStartedCallbackC -> IO (FunPtr SessionRequestStartedCallbackC)++sessionRequestStartedClosure :: SessionRequestStartedCallback -> IO Closure+sessionRequestStartedClosure cb = newCClosure =<< mkSessionRequestStartedCallback wrapped+    where wrapped = sessionRequestStartedCallbackWrapper cb++sessionRequestStartedCallbackWrapper ::+    SessionRequestStartedCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr Socket ->+    Ptr () ->+    IO ()+sessionRequestStartedCallbackWrapper _cb _ msg socket _ = do+    msg' <- (newObject Message) msg+    socket' <- (newObject Socket) socket+    _cb  msg' socket'++onSessionRequestStarted :: (GObject a, MonadIO m) => a -> SessionRequestStartedCallback -> m SignalHandlerId+onSessionRequestStarted obj cb = liftIO $ connectSessionRequestStarted obj cb SignalConnectBefore+afterSessionRequestStarted :: (GObject a, MonadIO m) => a -> SessionRequestStartedCallback -> m SignalHandlerId+afterSessionRequestStarted obj cb = connectSessionRequestStarted obj cb SignalConnectAfter++connectSessionRequestStarted :: (GObject a, MonadIO m) =>+                                a -> SessionRequestStartedCallback -> SignalConnectMode -> m SignalHandlerId+connectSessionRequestStarted obj cb after = liftIO $ do+    cb' <- mkSessionRequestStartedCallback (sessionRequestStartedCallbackWrapper cb)+    connectSignalFunPtr obj "request-started" cb' after++-- signal Session::request-unqueued+type SessionRequestUnqueuedCallback =+    Message ->+    IO ()++noSessionRequestUnqueuedCallback :: Maybe SessionRequestUnqueuedCallback+noSessionRequestUnqueuedCallback = Nothing++type SessionRequestUnqueuedCallbackC =+    Ptr () ->                               -- object+    Ptr Message ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSessionRequestUnqueuedCallback :: SessionRequestUnqueuedCallbackC -> IO (FunPtr SessionRequestUnqueuedCallbackC)++sessionRequestUnqueuedClosure :: SessionRequestUnqueuedCallback -> IO Closure+sessionRequestUnqueuedClosure cb = newCClosure =<< mkSessionRequestUnqueuedCallback wrapped+    where wrapped = sessionRequestUnqueuedCallbackWrapper cb++sessionRequestUnqueuedCallbackWrapper ::+    SessionRequestUnqueuedCallback ->+    Ptr () ->+    Ptr Message ->+    Ptr () ->+    IO ()+sessionRequestUnqueuedCallbackWrapper _cb _ msg _ = do+    msg' <- (newObject Message) msg+    _cb  msg'++onSessionRequestUnqueued :: (GObject a, MonadIO m) => a -> SessionRequestUnqueuedCallback -> m SignalHandlerId+onSessionRequestUnqueued obj cb = liftIO $ connectSessionRequestUnqueued obj cb SignalConnectBefore+afterSessionRequestUnqueued :: (GObject a, MonadIO m) => a -> SessionRequestUnqueuedCallback -> m SignalHandlerId+afterSessionRequestUnqueued obj cb = connectSessionRequestUnqueued obj cb SignalConnectAfter++connectSessionRequestUnqueued :: (GObject a, MonadIO m) =>+                                 a -> SessionRequestUnqueuedCallback -> SignalConnectMode -> m SignalHandlerId+connectSessionRequestUnqueued obj cb after = liftIO $ do+    cb' <- mkSessionRequestUnqueuedCallback (sessionRequestUnqueuedCallbackWrapper cb)+    connectSignalFunPtr obj "request-unqueued" cb' after++-- signal Session::tunneling+type SessionTunnelingCallback =+    GObject.Object ->+    IO ()++noSessionTunnelingCallback :: Maybe SessionTunnelingCallback+noSessionTunnelingCallback = Nothing++type SessionTunnelingCallbackC =+    Ptr () ->                               -- object+    Ptr GObject.Object ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSessionTunnelingCallback :: SessionTunnelingCallbackC -> IO (FunPtr SessionTunnelingCallbackC)++sessionTunnelingClosure :: SessionTunnelingCallback -> IO Closure+sessionTunnelingClosure cb = newCClosure =<< mkSessionTunnelingCallback wrapped+    where wrapped = sessionTunnelingCallbackWrapper cb++sessionTunnelingCallbackWrapper ::+    SessionTunnelingCallback ->+    Ptr () ->+    Ptr GObject.Object ->+    Ptr () ->+    IO ()+sessionTunnelingCallbackWrapper _cb _ connection _ = do+    connection' <- (newObject GObject.Object) connection+    _cb  connection'++onSessionTunneling :: (GObject a, MonadIO m) => a -> SessionTunnelingCallback -> m SignalHandlerId+onSessionTunneling obj cb = liftIO $ connectSessionTunneling obj cb SignalConnectBefore+afterSessionTunneling :: (GObject a, MonadIO m) => a -> SessionTunnelingCallback -> m SignalHandlerId+afterSessionTunneling obj cb = connectSessionTunneling obj cb SignalConnectAfter++connectSessionTunneling :: (GObject a, MonadIO m) =>+                           a -> SessionTunnelingCallback -> SignalConnectMode -> m SignalHandlerId+connectSessionTunneling obj cb after = liftIO $ do+    cb' <- mkSessionTunnelingCallback (sessionTunnelingCallbackWrapper cb)+    connectSignalFunPtr obj "tunneling" cb' after++-- object SessionAsync +newtype SessionAsync = SessionAsync (ForeignPtr SessionAsync)+noSessionAsync :: Maybe SessionAsync+noSessionAsync = Nothing++foreign import ccall "soup_session_async_get_type"+    c_soup_session_async_get_type :: IO GType++type instance ParentTypes SessionAsync = '[Session, GObject.Object]++instance GObject SessionAsync where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_session_async_get_type+    ++class GObject o => SessionAsyncK o+instance (GObject o, IsDescendantOf SessionAsync o) => SessionAsyncK o++toSessionAsync :: SessionAsyncK o => o -> IO SessionAsync+toSessionAsync = unsafeCastTo SessionAsync++-- method SessionAsync::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Soup" "SessionAsync"+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_async_new" soup_session_async_new :: +    IO (Ptr SessionAsync)++{-# DEPRECATED sessionAsyncNew ["#SoupSessionAsync is deprecated; use a plain","#SoupSession, created with soup_session_new(). See the <link","linkend=\"libsoup-session-porting\">porting guide</link>."]#-}+sessionAsyncNew ::+    (MonadIO m) =>+    m SessionAsync+sessionAsyncNew  = liftIO $ do+    result <- soup_session_async_new+    result' <- (wrapObject SessionAsync) result+    return result'++-- callback SessionCallback+sessionCallbackClosure :: SessionCallback -> IO Closure+sessionCallbackClosure cb = newCClosure =<< mkSessionCallback wrapped+    where wrapped = sessionCallbackWrapper Nothing cb++type SessionCallbackC =+    Ptr Session ->+    Ptr Message ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkSessionCallback :: SessionCallbackC -> IO (FunPtr SessionCallbackC)++type SessionCallback =+    Session ->+    Message ->+    IO ()++noSessionCallback :: Maybe SessionCallback+noSessionCallback = Nothing++sessionCallbackWrapper ::+    Maybe (Ptr (FunPtr (SessionCallbackC))) ->+    SessionCallback ->+    Ptr Session ->+    Ptr Message ->+    Ptr () ->+    IO ()+sessionCallbackWrapper funptrptr _cb session msg _ = do+    session' <- (newObject Session) session+    msg' <- (newObject Message) msg+    _cb  session' msg'+    maybeReleaseFunPtr funptrptr++-- interface SessionFeature ++newtype SessionFeature = SessionFeature (ForeignPtr SessionFeature)+noSessionFeature :: Maybe SessionFeature+noSessionFeature = Nothing++foreign import ccall "soup_session_feature_get_type"+    c_soup_session_feature_get_type :: IO GType++type instance ParentTypes SessionFeature = '[GObject.Object]++instance GObject SessionFeature where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_session_feature_get_type+    ++class GObject o => SessionFeatureK o+instance (GObject o, IsDescendantOf SessionFeature o) => SessionFeatureK o++toSessionFeature :: SessionFeatureK o => o -> IO SessionFeature+toSessionFeature = unsafeCastTo SessionFeature++-- method SessionFeature::add_feature+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_feature_add_feature" soup_session_feature_add_feature :: +    Ptr SessionFeature ->                   -- _obj : TInterface "Soup" "SessionFeature"+    CGType ->                               -- type : TBasicType TGType+    IO CInt+++sessionFeatureAddFeature ::+    (MonadIO m, SessionFeatureK a) =>+    a ->                                    -- _obj+    GType ->                                -- type+    m Bool+sessionFeatureAddFeature _obj type_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let type_' = gtypeToCGType type_+    result <- soup_session_feature_add_feature _obj' type_'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method SessionFeature::attach+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", 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" "SessionFeature", 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_session_feature_attach" soup_session_feature_attach :: +    Ptr SessionFeature ->                   -- _obj : TInterface "Soup" "SessionFeature"+    Ptr Session ->                          -- session : TInterface "Soup" "Session"+    IO ()+++sessionFeatureAttach ::+    (MonadIO m, SessionFeatureK a, SessionK b) =>+    a ->                                    -- _obj+    b ->                                    -- session+    m ()+sessionFeatureAttach _obj session = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let session' = unsafeManagedPtrCastPtr session+    soup_session_feature_attach _obj' session'+    touchManagedPtr _obj+    touchManagedPtr session+    return ()++-- method SessionFeature::detach+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", 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" "SessionFeature", 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_session_feature_detach" soup_session_feature_detach :: +    Ptr SessionFeature ->                   -- _obj : TInterface "Soup" "SessionFeature"+    Ptr Session ->                          -- session : TInterface "Soup" "Session"+    IO ()+++sessionFeatureDetach ::+    (MonadIO m, SessionFeatureK a, SessionK b) =>+    a ->                                    -- _obj+    b ->                                    -- session+    m ()+sessionFeatureDetach _obj session = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let session' = unsafeManagedPtrCastPtr session+    soup_session_feature_detach _obj' session'+    touchManagedPtr _obj+    touchManagedPtr session+    return ()++-- method SessionFeature::has_feature+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_feature_has_feature" soup_session_feature_has_feature :: +    Ptr SessionFeature ->                   -- _obj : TInterface "Soup" "SessionFeature"+    CGType ->                               -- type : TBasicType TGType+    IO CInt+++sessionFeatureHasFeature ::+    (MonadIO m, SessionFeatureK a) =>+    a ->                                    -- _obj+    GType ->                                -- type+    m Bool+sessionFeatureHasFeature _obj type_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let type_' = gtypeToCGType type_+    result <- soup_session_feature_has_feature _obj' type_'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method SessionFeature::remove_feature+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "SessionFeature", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_feature_remove_feature" soup_session_feature_remove_feature :: +    Ptr SessionFeature ->                   -- _obj : TInterface "Soup" "SessionFeature"+    CGType ->                               -- type : TBasicType TGType+    IO CInt+++sessionFeatureRemoveFeature ::+    (MonadIO m, SessionFeatureK a) =>+    a ->                                    -- _obj+    GType ->                                -- type+    m Bool+sessionFeatureRemoveFeature _obj type_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let type_' = gtypeToCGType type_+    result <- soup_session_feature_remove_feature _obj' type_'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- object SessionSync +newtype SessionSync = SessionSync (ForeignPtr SessionSync)+noSessionSync :: Maybe SessionSync+noSessionSync = Nothing++foreign import ccall "soup_session_sync_get_type"+    c_soup_session_sync_get_type :: IO GType++type instance ParentTypes SessionSync = '[Session, GObject.Object]++instance GObject SessionSync where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_session_sync_get_type+    ++class GObject o => SessionSyncK o+instance (GObject o, IsDescendantOf SessionSync o) => SessionSyncK o++toSessionSync :: SessionSyncK o => o -> IO SessionSync+toSessionSync = unsafeCastTo SessionSync++-- method SessionSync::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Soup" "SessionSync"+-- throws : False+-- Skip return : False++foreign import ccall "soup_session_sync_new" soup_session_sync_new :: +    IO (Ptr SessionSync)++{-# DEPRECATED sessionSyncNew ["#SoupSessionSync is deprecated; use a plain","#SoupSession, created with soup_session_new(). See the <link","linkend=\"libsoup-session-porting\">porting guide</link>."]#-}+sessionSyncNew ::+    (MonadIO m) =>+    m SessionSync+sessionSyncNew  = liftIO $ do+    result <- soup_session_sync_new+    result' <- (wrapObject SessionSync) result+    return result'++-- object Socket +newtype Socket = Socket (ForeignPtr Socket)+noSocket :: Maybe Socket+noSocket = Nothing++foreign import ccall "soup_socket_get_type"+    c_soup_socket_get_type :: IO GType++type instance ParentTypes Socket = '[GObject.Object, Gio.Initable]++instance GObject Socket where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_socket_get_type+    ++class GObject o => SocketK o+instance (GObject o, IsDescendantOf Socket o) => SocketK o++toSocket :: SocketK o => o -> IO Socket+toSocket = unsafeCastTo Socket++-- method Socket::connect_async+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "SocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "callback", argType = TInterface "Soup" "SocketCallback", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_connect_async" soup_socket_connect_async :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    FunPtr SocketCallbackC ->               -- callback : TInterface "Soup" "SocketCallback"+    Ptr () ->                               -- user_data : TBasicType TVoid+    IO ()+++socketConnectAsync ::+    (MonadIO m, SocketK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- cancellable+    SocketCallback ->                       -- callback+    m ()+socketConnectAsync _obj cancellable callback = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    ptrcallback <- callocBytes $ sizeOf (undefined :: FunPtr SocketCallbackC)+    callback' <- mkSocketCallback (socketCallbackWrapper (Just ptrcallback) callback)+    poke ptrcallback callback'+    let user_data = nullPtr+    soup_socket_connect_async _obj' maybeCancellable callback' user_data+    touchManagedPtr _obj+    whenJust cancellable touchManagedPtr+    return ()++-- method Socket::connect_sync+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_connect_sync" soup_socket_connect_sync :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    IO Word32+++socketConnectSync ::+    (MonadIO m, SocketK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- cancellable+    m Word32+socketConnectSync _obj cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    result <- soup_socket_connect_sync _obj' maybeCancellable+    touchManagedPtr _obj+    whenJust cancellable touchManagedPtr+    return result++-- method Socket::disconnect+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_disconnect" soup_socket_disconnect :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    IO ()+++socketDisconnect ::+    (MonadIO m, SocketK a) =>+    a ->                                    -- _obj+    m ()+socketDisconnect _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    soup_socket_disconnect _obj'+    touchManagedPtr _obj+    return ()++-- method Socket::get_fd+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_get_fd" soup_socket_get_fd :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    IO Int32+++socketGetFd ::+    (MonadIO m, SocketK a) =>+    a ->                                    -- _obj+    m Int32+socketGetFd _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_socket_get_fd _obj'+    touchManagedPtr _obj+    return result++-- method Socket::get_local_address+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Address"+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_get_local_address" soup_socket_get_local_address :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    IO (Ptr Address)+++socketGetLocalAddress ::+    (MonadIO m, SocketK a) =>+    a ->                                    -- _obj+    m Address+socketGetLocalAddress _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_socket_get_local_address _obj'+    result' <- (newObject Address) result+    touchManagedPtr _obj+    return result'++-- method Socket::get_remote_address+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Address"+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_get_remote_address" soup_socket_get_remote_address :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    IO (Ptr Address)+++socketGetRemoteAddress ::+    (MonadIO m, SocketK a) =>+    a ->                                    -- _obj+    m Address+socketGetRemoteAddress _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_socket_get_remote_address _obj'+    result' <- (newObject Address) result+    touchManagedPtr _obj+    return result'++-- method Socket::is_connected+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_is_connected" soup_socket_is_connected :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    IO CInt+++socketIsConnected ::+    (MonadIO m, SocketK a) =>+    a ->                                    -- _obj+    m Bool+socketIsConnected _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_socket_is_connected _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Socket::is_ssl+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_is_ssl" soup_socket_is_ssl :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    IO CInt+++socketIsSsl ::+    (MonadIO m, SocketK a) =>+    a ->                                    -- _obj+    m Bool+socketIsSsl _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_socket_is_ssl _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Socket::listen+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_listen" soup_socket_listen :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    IO CInt+++socketListen ::+    (MonadIO m, SocketK a) =>+    a ->                                    -- _obj+    m Bool+socketListen _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_socket_listen _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Socket::read+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nread", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "SocketIOStatus"+-- throws : True+-- Skip return : False++foreign import ccall "soup_socket_read" soup_socket_read :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    Ptr Word8 ->                            -- buffer : TCArray False (-1) 2 (TBasicType TUInt8)+    Word64 ->                               -- len : TBasicType TUInt64+    Ptr Word64 ->                           -- nread : TBasicType TUInt64+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr (Ptr GError) ->                     -- error+    IO CUInt+++socketRead ::+    (MonadIO m, SocketK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    ByteString ->                           -- buffer+    Maybe (b) ->                            -- cancellable+    m (SocketIOStatus,Word64)+socketRead _obj buffer cancellable = liftIO $ do+    let len = fromIntegral $ B.length buffer+    let _obj' = unsafeManagedPtrCastPtr _obj+    buffer' <- packByteString buffer+    nread <- allocMem :: IO (Ptr Word64)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ soup_socket_read _obj' buffer' len nread maybeCancellable+        let result' = (toEnum . fromIntegral) result+        nread' <- peek nread+        touchManagedPtr _obj+        whenJust cancellable touchManagedPtr+        freeMem buffer'+        freeMem nread+        return (result', nread')+     ) (do+        freeMem buffer'+        freeMem nread+     )++-- method Socket::read_until+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nread", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "got_boundary", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "got_boundary", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "SocketIOStatus"+-- throws : True+-- Skip return : False++foreign import ccall "soup_socket_read_until" soup_socket_read_until :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    Ptr Word8 ->                            -- buffer : TCArray False (-1) 2 (TBasicType TUInt8)+    Word64 ->                               -- len : TBasicType TUInt64+    Ptr () ->                               -- boundary : TBasicType TVoid+    Word64 ->                               -- boundary_len : TBasicType TUInt64+    Ptr Word64 ->                           -- nread : TBasicType TUInt64+    CInt ->                                 -- got_boundary : TBasicType TBoolean+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr (Ptr GError) ->                     -- error+    IO CUInt+++socketReadUntil ::+    (MonadIO m, SocketK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    ByteString ->                           -- buffer+    Ptr () ->                               -- boundary+    Word64 ->                               -- boundary_len+    Bool ->                                 -- got_boundary+    Maybe (b) ->                            -- cancellable+    m (SocketIOStatus,Word64)+socketReadUntil _obj buffer boundary boundary_len got_boundary cancellable = liftIO $ do+    let len = fromIntegral $ B.length buffer+    let _obj' = unsafeManagedPtrCastPtr _obj+    buffer' <- packByteString buffer+    nread <- allocMem :: IO (Ptr Word64)+    let got_boundary' = (fromIntegral . fromEnum) got_boundary+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ soup_socket_read_until _obj' buffer' len boundary boundary_len nread got_boundary' maybeCancellable+        let result' = (toEnum . fromIntegral) result+        nread' <- peek nread+        touchManagedPtr _obj+        whenJust cancellable touchManagedPtr+        freeMem buffer'+        freeMem nread+        return (result', nread')+     ) (do+        freeMem buffer'+        freeMem nread+     )++-- method Socket::start_proxy_ssl+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ssl_host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_start_proxy_ssl" soup_socket_start_proxy_ssl :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    CString ->                              -- ssl_host : TBasicType TUTF8+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    IO CInt+++socketStartProxySsl ::+    (MonadIO m, SocketK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    T.Text ->                               -- ssl_host+    Maybe (b) ->                            -- cancellable+    m Bool+socketStartProxySsl _obj ssl_host cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    ssl_host' <- textToCString ssl_host+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    result <- soup_socket_start_proxy_ssl _obj' ssl_host' maybeCancellable+    let result' = (/= 0) result+    touchManagedPtr _obj+    whenJust cancellable touchManagedPtr+    freeMem ssl_host'+    return result'++-- method Socket::start_ssl+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_socket_start_ssl" soup_socket_start_ssl :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    IO CInt+++socketStartSsl ::+    (MonadIO m, SocketK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    Maybe (b) ->                            -- cancellable+    m Bool+socketStartSsl _obj cancellable = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    result <- soup_socket_start_ssl _obj' maybeCancellable+    let result' = (/= 0) result+    touchManagedPtr _obj+    whenJust cancellable touchManagedPtr+    return result'++-- method Socket::write+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nwrote", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "SocketIOStatus"+-- throws : True+-- Skip return : False++foreign import ccall "soup_socket_write" soup_socket_write :: +    Ptr Socket ->                           -- _obj : TInterface "Soup" "Socket"+    Ptr Word8 ->                            -- buffer : TCArray False (-1) 2 (TBasicType TUInt8)+    Word64 ->                               -- len : TBasicType TUInt64+    Ptr Word64 ->                           -- nwrote : TBasicType TUInt64+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr (Ptr GError) ->                     -- error+    IO CUInt+++socketWrite ::+    (MonadIO m, SocketK a, Gio.CancellableK b) =>+    a ->                                    -- _obj+    ByteString ->                           -- buffer+    Maybe (b) ->                            -- cancellable+    m (SocketIOStatus,Word64)+socketWrite _obj buffer cancellable = liftIO $ do+    let len = fromIntegral $ B.length buffer+    let _obj' = unsafeManagedPtrCastPtr _obj+    buffer' <- packByteString buffer+    nwrote <- allocMem :: IO (Ptr Word64)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ soup_socket_write _obj' buffer' len nwrote maybeCancellable+        let result' = (toEnum . fromIntegral) result+        nwrote' <- peek nwrote+        touchManagedPtr _obj+        whenJust cancellable touchManagedPtr+        freeMem buffer'+        freeMem nwrote+        return (result', nwrote')+     ) (do+        freeMem buffer'+        freeMem nwrote+     )++-- signal Socket::disconnected+type SocketDisconnectedCallback =+    IO ()++noSocketDisconnectedCallback :: Maybe SocketDisconnectedCallback+noSocketDisconnectedCallback = Nothing++type SocketDisconnectedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSocketDisconnectedCallback :: SocketDisconnectedCallbackC -> IO (FunPtr SocketDisconnectedCallbackC)++socketDisconnectedClosure :: SocketDisconnectedCallback -> IO Closure+socketDisconnectedClosure cb = newCClosure =<< mkSocketDisconnectedCallback wrapped+    where wrapped = socketDisconnectedCallbackWrapper cb++socketDisconnectedCallbackWrapper ::+    SocketDisconnectedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+socketDisconnectedCallbackWrapper _cb _ _ = do+    _cb ++onSocketDisconnected :: (GObject a, MonadIO m) => a -> SocketDisconnectedCallback -> m SignalHandlerId+onSocketDisconnected obj cb = liftIO $ connectSocketDisconnected obj cb SignalConnectBefore+afterSocketDisconnected :: (GObject a, MonadIO m) => a -> SocketDisconnectedCallback -> m SignalHandlerId+afterSocketDisconnected obj cb = connectSocketDisconnected obj cb SignalConnectAfter++connectSocketDisconnected :: (GObject a, MonadIO m) =>+                             a -> SocketDisconnectedCallback -> SignalConnectMode -> m SignalHandlerId+connectSocketDisconnected obj cb after = liftIO $ do+    cb' <- mkSocketDisconnectedCallback (socketDisconnectedCallbackWrapper cb)+    connectSignalFunPtr obj "disconnected" cb' after++-- signal Socket::event+type SocketEventCallback =+    Gio.SocketClientEvent ->+    Gio.IOStream ->+    IO ()++noSocketEventCallback :: Maybe SocketEventCallback+noSocketEventCallback = Nothing++type SocketEventCallbackC =+    Ptr () ->                               -- object+    CUInt ->+    Ptr Gio.IOStream ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSocketEventCallback :: SocketEventCallbackC -> IO (FunPtr SocketEventCallbackC)++socketEventClosure :: SocketEventCallback -> IO Closure+socketEventClosure cb = newCClosure =<< mkSocketEventCallback wrapped+    where wrapped = socketEventCallbackWrapper cb++socketEventCallbackWrapper ::+    SocketEventCallback ->+    Ptr () ->+    CUInt ->+    Ptr Gio.IOStream ->+    Ptr () ->+    IO ()+socketEventCallbackWrapper _cb _ event connection _ = do+    let event' = (toEnum . fromIntegral) event+    connection' <- (newObject Gio.IOStream) connection+    _cb  event' connection'++onSocketEvent :: (GObject a, MonadIO m) => a -> SocketEventCallback -> m SignalHandlerId+onSocketEvent obj cb = liftIO $ connectSocketEvent obj cb SignalConnectBefore+afterSocketEvent :: (GObject a, MonadIO m) => a -> SocketEventCallback -> m SignalHandlerId+afterSocketEvent obj cb = connectSocketEvent obj cb SignalConnectAfter++connectSocketEvent :: (GObject a, MonadIO m) =>+                      a -> SocketEventCallback -> SignalConnectMode -> m SignalHandlerId+connectSocketEvent obj cb after = liftIO $ do+    cb' <- mkSocketEventCallback (socketEventCallbackWrapper cb)+    connectSignalFunPtr obj "event" cb' after++-- signal Socket::new-connection+type SocketNewConnectionCallback =+    Socket ->+    IO ()++noSocketNewConnectionCallback :: Maybe SocketNewConnectionCallback+noSocketNewConnectionCallback = Nothing++type SocketNewConnectionCallbackC =+    Ptr () ->                               -- object+    Ptr Socket ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSocketNewConnectionCallback :: SocketNewConnectionCallbackC -> IO (FunPtr SocketNewConnectionCallbackC)++socketNewConnectionClosure :: SocketNewConnectionCallback -> IO Closure+socketNewConnectionClosure cb = newCClosure =<< mkSocketNewConnectionCallback wrapped+    where wrapped = socketNewConnectionCallbackWrapper cb++socketNewConnectionCallbackWrapper ::+    SocketNewConnectionCallback ->+    Ptr () ->+    Ptr Socket ->+    Ptr () ->+    IO ()+socketNewConnectionCallbackWrapper _cb _ new _ = do+    new' <- (newObject Socket) new+    _cb  new'++onSocketNewConnection :: (GObject a, MonadIO m) => a -> SocketNewConnectionCallback -> m SignalHandlerId+onSocketNewConnection obj cb = liftIO $ connectSocketNewConnection obj cb SignalConnectBefore+afterSocketNewConnection :: (GObject a, MonadIO m) => a -> SocketNewConnectionCallback -> m SignalHandlerId+afterSocketNewConnection obj cb = connectSocketNewConnection obj cb SignalConnectAfter++connectSocketNewConnection :: (GObject a, MonadIO m) =>+                              a -> SocketNewConnectionCallback -> SignalConnectMode -> m SignalHandlerId+connectSocketNewConnection obj cb after = liftIO $ do+    cb' <- mkSocketNewConnectionCallback (socketNewConnectionCallbackWrapper cb)+    connectSignalFunPtr obj "new-connection" cb' after++-- signal Socket::readable+type SocketReadableCallback =+    IO ()++noSocketReadableCallback :: Maybe SocketReadableCallback+noSocketReadableCallback = Nothing++type SocketReadableCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSocketReadableCallback :: SocketReadableCallbackC -> IO (FunPtr SocketReadableCallbackC)++socketReadableClosure :: SocketReadableCallback -> IO Closure+socketReadableClosure cb = newCClosure =<< mkSocketReadableCallback wrapped+    where wrapped = socketReadableCallbackWrapper cb++socketReadableCallbackWrapper ::+    SocketReadableCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+socketReadableCallbackWrapper _cb _ _ = do+    _cb ++onSocketReadable :: (GObject a, MonadIO m) => a -> SocketReadableCallback -> m SignalHandlerId+onSocketReadable obj cb = liftIO $ connectSocketReadable obj cb SignalConnectBefore+afterSocketReadable :: (GObject a, MonadIO m) => a -> SocketReadableCallback -> m SignalHandlerId+afterSocketReadable obj cb = connectSocketReadable obj cb SignalConnectAfter++connectSocketReadable :: (GObject a, MonadIO m) =>+                         a -> SocketReadableCallback -> SignalConnectMode -> m SignalHandlerId+connectSocketReadable obj cb after = liftIO $ do+    cb' <- mkSocketReadableCallback (socketReadableCallbackWrapper cb)+    connectSignalFunPtr obj "readable" cb' after++-- signal Socket::writable+type SocketWritableCallback =+    IO ()++noSocketWritableCallback :: Maybe SocketWritableCallback+noSocketWritableCallback = Nothing++type SocketWritableCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkSocketWritableCallback :: SocketWritableCallbackC -> IO (FunPtr SocketWritableCallbackC)++socketWritableClosure :: SocketWritableCallback -> IO Closure+socketWritableClosure cb = newCClosure =<< mkSocketWritableCallback wrapped+    where wrapped = socketWritableCallbackWrapper cb++socketWritableCallbackWrapper ::+    SocketWritableCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+socketWritableCallbackWrapper _cb _ _ = do+    _cb ++onSocketWritable :: (GObject a, MonadIO m) => a -> SocketWritableCallback -> m SignalHandlerId+onSocketWritable obj cb = liftIO $ connectSocketWritable obj cb SignalConnectBefore+afterSocketWritable :: (GObject a, MonadIO m) => a -> SocketWritableCallback -> m SignalHandlerId+afterSocketWritable obj cb = connectSocketWritable obj cb SignalConnectAfter++connectSocketWritable :: (GObject a, MonadIO m) =>+                         a -> SocketWritableCallback -> SignalConnectMode -> m SignalHandlerId+connectSocketWritable obj cb after = liftIO $ do+    cb' <- mkSocketWritableCallback (socketWritableCallbackWrapper cb)+    connectSignalFunPtr obj "writable" cb' after++-- callback SocketCallback+socketCallbackClosure :: SocketCallback -> IO Closure+socketCallbackClosure cb = newCClosure =<< mkSocketCallback wrapped+    where wrapped = socketCallbackWrapper Nothing cb++type SocketCallbackC =+    Ptr Socket ->+    Word32 ->+    Ptr () ->+    IO ()++foreign import ccall "wrapper"+    mkSocketCallback :: SocketCallbackC -> IO (FunPtr SocketCallbackC)++type SocketCallback =+    Socket ->+    Word32 ->+    IO ()++noSocketCallback :: Maybe SocketCallback+noSocketCallback = Nothing++socketCallbackWrapper ::+    Maybe (Ptr (FunPtr (SocketCallbackC))) ->+    SocketCallback ->+    Ptr Socket ->+    Word32 ->+    Ptr () ->+    IO ()+socketCallbackWrapper funptrptr _cb sock status _ = do+    sock' <- (newObject Socket) sock+    _cb  sock' status+    maybeReleaseFunPtr funptrptr++-- Enum SocketIOStatus++data SocketIOStatus = +      SocketIOStatusOk+    | SocketIOStatusWouldBlock+    | SocketIOStatusEof+    | SocketIOStatusError+    | AnotherSocketIOStatus Int+    deriving (Show, Eq)++instance Enum SocketIOStatus where+    fromEnum SocketIOStatusOk = 0+    fromEnum SocketIOStatusWouldBlock = 1+    fromEnum SocketIOStatusEof = 2+    fromEnum SocketIOStatusError = 3+    fromEnum (AnotherSocketIOStatus k) = k++    toEnum 0 = SocketIOStatusOk+    toEnum 1 = SocketIOStatusWouldBlock+    toEnum 2 = SocketIOStatusEof+    toEnum 3 = SocketIOStatusError+    toEnum k = AnotherSocketIOStatus k++foreign import ccall "soup_socket_io_status_get_type" c_soup_socket_io_status_get_type :: +    IO GType++instance BoxedEnum SocketIOStatus where+    boxedEnumType _ = c_soup_socket_io_status_get_type++-- Enum Status++data Status = +      StatusNone+    | StatusCancelled+    | StatusCantResolve+    | StatusCantResolveProxy+    | StatusCantConnect+    | StatusCantConnectProxy+    | StatusSslFailed+    | StatusIoError+    | StatusMalformed+    | StatusTryAgain+    | StatusTooManyRedirects+    | StatusTlsFailed+    | StatusContinue+    | StatusSwitchingProtocols+    | StatusProcessing+    | StatusOk+    | StatusCreated+    | StatusAccepted+    | StatusNonAuthoritative+    | StatusNoContent+    | StatusResetContent+    | StatusPartialContent+    | StatusMultiStatus+    | StatusMultipleChoices+    | StatusMovedPermanently+    | StatusFound+    | StatusMovedTemporarily+    | StatusSeeOther+    | StatusNotModified+    | StatusUseProxy+    | StatusNotAppearingInThisProtocol+    | StatusTemporaryRedirect+    | StatusBadRequest+    | StatusUnauthorized+    | StatusPaymentRequired+    | StatusForbidden+    | StatusNotFound+    | StatusMethodNotAllowed+    | StatusNotAcceptable+    | StatusProxyAuthenticationRequired+    | StatusProxyUnauthorized+    | StatusRequestTimeout+    | StatusConflict+    | StatusGone+    | StatusLengthRequired+    | StatusPreconditionFailed+    | StatusRequestEntityTooLarge+    | StatusRequestUriTooLong+    | StatusUnsupportedMediaType+    | StatusRequestedRangeNotSatisfiable+    | StatusInvalidRange+    | StatusExpectationFailed+    | StatusUnprocessableEntity+    | StatusLocked+    | StatusFailedDependency+    | StatusInternalServerError+    | StatusNotImplemented+    | StatusBadGateway+    | StatusServiceUnavailable+    | StatusGatewayTimeout+    | StatusHttpVersionNotSupported+    | StatusInsufficientStorage+    | StatusNotExtended+    | AnotherStatus Int+    deriving (Show, Eq)++instance Enum Status where+    fromEnum StatusNone = 0+    fromEnum StatusCancelled = 1+    fromEnum StatusCantResolve = 2+    fromEnum StatusCantResolveProxy = 3+    fromEnum StatusCantConnect = 4+    fromEnum StatusCantConnectProxy = 5+    fromEnum StatusSslFailed = 6+    fromEnum StatusIoError = 7+    fromEnum StatusMalformed = 8+    fromEnum StatusTryAgain = 9+    fromEnum StatusTooManyRedirects = 10+    fromEnum StatusTlsFailed = 11+    fromEnum StatusContinue = 100+    fromEnum StatusSwitchingProtocols = 101+    fromEnum StatusProcessing = 102+    fromEnum StatusOk = 200+    fromEnum StatusCreated = 201+    fromEnum StatusAccepted = 202+    fromEnum StatusNonAuthoritative = 203+    fromEnum StatusNoContent = 204+    fromEnum StatusResetContent = 205+    fromEnum StatusPartialContent = 206+    fromEnum StatusMultiStatus = 207+    fromEnum StatusMultipleChoices = 300+    fromEnum StatusMovedPermanently = 301+    fromEnum StatusFound = 302+    fromEnum StatusMovedTemporarily = 302+    fromEnum StatusSeeOther = 303+    fromEnum StatusNotModified = 304+    fromEnum StatusUseProxy = 305+    fromEnum StatusNotAppearingInThisProtocol = 306+    fromEnum StatusTemporaryRedirect = 307+    fromEnum StatusBadRequest = 400+    fromEnum StatusUnauthorized = 401+    fromEnum StatusPaymentRequired = 402+    fromEnum StatusForbidden = 403+    fromEnum StatusNotFound = 404+    fromEnum StatusMethodNotAllowed = 405+    fromEnum StatusNotAcceptable = 406+    fromEnum StatusProxyAuthenticationRequired = 407+    fromEnum StatusProxyUnauthorized = 407+    fromEnum StatusRequestTimeout = 408+    fromEnum StatusConflict = 409+    fromEnum StatusGone = 410+    fromEnum StatusLengthRequired = 411+    fromEnum StatusPreconditionFailed = 412+    fromEnum StatusRequestEntityTooLarge = 413+    fromEnum StatusRequestUriTooLong = 414+    fromEnum StatusUnsupportedMediaType = 415+    fromEnum StatusRequestedRangeNotSatisfiable = 416+    fromEnum StatusInvalidRange = 416+    fromEnum StatusExpectationFailed = 417+    fromEnum StatusUnprocessableEntity = 422+    fromEnum StatusLocked = 423+    fromEnum StatusFailedDependency = 424+    fromEnum StatusInternalServerError = 500+    fromEnum StatusNotImplemented = 501+    fromEnum StatusBadGateway = 502+    fromEnum StatusServiceUnavailable = 503+    fromEnum StatusGatewayTimeout = 504+    fromEnum StatusHttpVersionNotSupported = 505+    fromEnum StatusInsufficientStorage = 507+    fromEnum StatusNotExtended = 510+    fromEnum (AnotherStatus k) = k++    toEnum 0 = StatusNone+    toEnum 1 = StatusCancelled+    toEnum 2 = StatusCantResolve+    toEnum 3 = StatusCantResolveProxy+    toEnum 4 = StatusCantConnect+    toEnum 5 = StatusCantConnectProxy+    toEnum 6 = StatusSslFailed+    toEnum 7 = StatusIoError+    toEnum 8 = StatusMalformed+    toEnum 9 = StatusTryAgain+    toEnum 10 = StatusTooManyRedirects+    toEnum 11 = StatusTlsFailed+    toEnum 100 = StatusContinue+    toEnum 101 = StatusSwitchingProtocols+    toEnum 102 = StatusProcessing+    toEnum 200 = StatusOk+    toEnum 201 = StatusCreated+    toEnum 202 = StatusAccepted+    toEnum 203 = StatusNonAuthoritative+    toEnum 204 = StatusNoContent+    toEnum 205 = StatusResetContent+    toEnum 206 = StatusPartialContent+    toEnum 207 = StatusMultiStatus+    toEnum 300 = StatusMultipleChoices+    toEnum 301 = StatusMovedPermanently+    toEnum 302 = StatusFound+    toEnum 303 = StatusSeeOther+    toEnum 304 = StatusNotModified+    toEnum 305 = StatusUseProxy+    toEnum 306 = StatusNotAppearingInThisProtocol+    toEnum 307 = StatusTemporaryRedirect+    toEnum 400 = StatusBadRequest+    toEnum 401 = StatusUnauthorized+    toEnum 402 = StatusPaymentRequired+    toEnum 403 = StatusForbidden+    toEnum 404 = StatusNotFound+    toEnum 405 = StatusMethodNotAllowed+    toEnum 406 = StatusNotAcceptable+    toEnum 407 = StatusProxyAuthenticationRequired+    toEnum 408 = StatusRequestTimeout+    toEnum 409 = StatusConflict+    toEnum 410 = StatusGone+    toEnum 411 = StatusLengthRequired+    toEnum 412 = StatusPreconditionFailed+    toEnum 413 = StatusRequestEntityTooLarge+    toEnum 414 = StatusRequestUriTooLong+    toEnum 415 = StatusUnsupportedMediaType+    toEnum 416 = StatusRequestedRangeNotSatisfiable+    toEnum 417 = StatusExpectationFailed+    toEnum 422 = StatusUnprocessableEntity+    toEnum 423 = StatusLocked+    toEnum 424 = StatusFailedDependency+    toEnum 500 = StatusInternalServerError+    toEnum 501 = StatusNotImplemented+    toEnum 502 = StatusBadGateway+    toEnum 503 = StatusServiceUnavailable+    toEnum 504 = StatusGatewayTimeout+    toEnum 505 = StatusHttpVersionNotSupported+    toEnum 507 = StatusInsufficientStorage+    toEnum 510 = StatusNotExtended+    toEnum k = AnotherStatus k++foreign import ccall "soup_status_get_type" c_soup_status_get_type :: +    IO GType++instance BoxedEnum Status where+    boxedEnumType _ = c_soup_status_get_type++-- Enum TLDError++data TLDError = +      TLDErrorInvalidHostname+    | TLDErrorIsIpAddress+    | TLDErrorNotEnoughDomains+    | TLDErrorNoBaseDomain+    | AnotherTLDError Int+    deriving (Show, Eq)++instance Enum TLDError where+    fromEnum TLDErrorInvalidHostname = 0+    fromEnum TLDErrorIsIpAddress = 1+    fromEnum TLDErrorNotEnoughDomains = 2+    fromEnum TLDErrorNoBaseDomain = 3+    fromEnum (AnotherTLDError k) = k++    toEnum 0 = TLDErrorInvalidHostname+    toEnum 1 = TLDErrorIsIpAddress+    toEnum 2 = TLDErrorNotEnoughDomains+    toEnum 3 = TLDErrorNoBaseDomain+    toEnum k = AnotherTLDError k++instance GErrorClass TLDError where+    gerrorClassDomain _ = "soup_tld_error_quark"++catchTLDError ::+    IO a ->+    (TLDError -> GErrorMessage -> IO a) ->+    IO a+catchTLDError = catchGErrorJustDomain++handleTLDError ::+    (TLDError -> GErrorMessage -> IO a) ->+    IO a ->+    IO a+handleTLDError = handleGErrorJustDomain++foreign import ccall "soup_tld_error_get_type" c_soup_tld_error_get_type :: +    IO GType++instance BoxedEnum TLDError where+    boxedEnumType _ = c_soup_tld_error_get_type++-- struct URI+newtype URI = URI (ForeignPtr URI)+noURI :: Maybe URI+noURI = Nothing++foreign import ccall "soup_uri_get_type" c_soup_uri_get_type :: +    IO GType++instance BoxedObject URI where+    boxedType _ = c_soup_uri_get_type++uRIReadScheme :: URI -> IO T.Text+uRIReadScheme s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CString+    val' <- cstringToText val+    return val'++uRIReadUser :: URI -> IO T.Text+uRIReadUser s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++uRIReadPassword :: URI -> IO T.Text+uRIReadPassword s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CString+    val' <- cstringToText val+    return val'++uRIReadHost :: URI -> IO T.Text+uRIReadHost s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CString+    val' <- cstringToText val+    return val'++uRIReadPort :: URI -> IO Word32+uRIReadPort s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++uRIReadPath :: URI -> IO T.Text+uRIReadPath s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CString+    val' <- cstringToText val+    return val'++uRIReadQuery :: URI -> IO T.Text+uRIReadQuery s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CString+    val' <- cstringToText val+    return val'++uRIReadFragment :: URI -> IO T.Text+uRIReadFragment s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CString+    val' <- cstringToText val+    return val'++-- method URI::new+-- method type : Constructor+-- Args : [Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "URI"+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_new" soup_uri_new :: +    CString ->                              -- uri_string : TBasicType TUTF8+    IO (Ptr URI)+++uRINew ::+    (MonadIO m) =>+    Maybe (T.Text) ->                       -- uri_string+    m URI+uRINew uri_string = liftIO $ do+    maybeUri_string <- case uri_string of+        Nothing -> return nullPtr+        Just jUri_string -> do+            jUri_string' <- textToCString jUri_string+            return jUri_string'+    result <- soup_uri_new maybeUri_string+    result' <- (wrapBoxed URI) result+    freeMem maybeUri_string+    return result'++-- method URI::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "URI"+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_copy" soup_uri_copy :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO (Ptr URI)+++uRICopy ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m URI+uRICopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_copy _obj'+    result' <- (wrapBoxed URI) result+    touchManagedPtr _obj+    return result'++-- method URI::copy_host+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "URI"+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_copy_host" soup_uri_copy_host :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO (Ptr URI)+++uRICopyHost ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m URI+uRICopyHost _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_copy_host _obj'+    result' <- (wrapBoxed URI) result+    touchManagedPtr _obj+    return result'++-- method URI::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_equal" soup_uri_equal :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    Ptr URI ->                              -- uri2 : TInterface "Soup" "URI"+    IO CInt+++uRIEqual ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    URI ->                                  -- uri2+    m Bool+uRIEqual _obj uri2 = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let uri2' = unsafeManagedPtrGetPtr uri2+    result <- soup_uri_equal _obj' uri2'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr uri2+    return result'++-- method URI::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_free" soup_uri_free :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO ()+++uRIFree ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m ()+uRIFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_uri_free _obj'+    touchManagedPtr _obj+    return ()++-- method URI::get_fragment+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_get_fragment" soup_uri_get_fragment :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO CString+++uRIGetFragment ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m T.Text+uRIGetFragment _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_get_fragment _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method URI::get_host+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_get_host" soup_uri_get_host :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO CString+++uRIGetHost ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m T.Text+uRIGetHost _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_get_host _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method URI::get_password+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_get_password" soup_uri_get_password :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO CString+++uRIGetPassword ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m T.Text+uRIGetPassword _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_get_password _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method URI::get_path+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_get_path" soup_uri_get_path :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO CString+++uRIGetPath ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m T.Text+uRIGetPath _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_get_path _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method URI::get_port+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_get_port" soup_uri_get_port :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO Word32+++uRIGetPort ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m Word32+uRIGetPort _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_get_port _obj'+    touchManagedPtr _obj+    return result++-- method URI::get_query+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_get_query" soup_uri_get_query :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO CString+++uRIGetQuery ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m T.Text+uRIGetQuery _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_get_query _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method URI::get_scheme+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_get_scheme" soup_uri_get_scheme :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO CString+++uRIGetScheme ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m T.Text+uRIGetScheme _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_get_scheme _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method URI::get_user+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_get_user" soup_uri_get_user :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO CString+++uRIGetUser ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m T.Text+uRIGetUser _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_get_user _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method URI::host_equal+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_host_equal" soup_uri_host_equal :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    Ptr URI ->                              -- v2 : TInterface "Soup" "URI"+    IO CInt+++uRIHostEqual ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    URI ->                                  -- v2+    m Bool+uRIHostEqual _obj v2 = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let v2' = unsafeManagedPtrGetPtr v2+    result <- soup_uri_host_equal _obj' v2'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr v2+    return result'++-- method URI::host_hash+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_host_hash" soup_uri_host_hash :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO Word32+++uRIHostHash ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m Word32+uRIHostHash _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_host_hash _obj'+    touchManagedPtr _obj+    return result++-- method URI::new_with_base+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "URI"+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_new_with_base" soup_uri_new_with_base :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CString ->                              -- uri_string : TBasicType TUTF8+    IO (Ptr URI)+++uRINewWithBase ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    T.Text ->                               -- uri_string+    m URI+uRINewWithBase _obj uri_string = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    uri_string' <- textToCString uri_string+    result <- soup_uri_new_with_base _obj' uri_string'+    result' <- (wrapBoxed URI) result+    touchManagedPtr _obj+    freeMem uri_string'+    return result'++-- method URI::set_fragment+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fragment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "fragment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_fragment" soup_uri_set_fragment :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CString ->                              -- fragment : TBasicType TUTF8+    IO ()+++uRISetFragment ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    Maybe (T.Text) ->                       -- fragment+    m ()+uRISetFragment _obj fragment = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeFragment <- case fragment of+        Nothing -> return nullPtr+        Just jFragment -> do+            jFragment' <- textToCString jFragment+            return jFragment'+    soup_uri_set_fragment _obj' maybeFragment+    touchManagedPtr _obj+    freeMem maybeFragment+    return ()++-- method URI::set_host+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_host" soup_uri_set_host :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CString ->                              -- host : TBasicType TUTF8+    IO ()+++uRISetHost ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    Maybe (T.Text) ->                       -- host+    m ()+uRISetHost _obj host = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeHost <- case host of+        Nothing -> return nullPtr+        Just jHost -> do+            jHost' <- textToCString jHost+            return jHost'+    soup_uri_set_host _obj' maybeHost+    touchManagedPtr _obj+    freeMem maybeHost+    return ()++-- method URI::set_password+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "password", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_password" soup_uri_set_password :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CString ->                              -- password : TBasicType TUTF8+    IO ()+++uRISetPassword ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    Maybe (T.Text) ->                       -- password+    m ()+uRISetPassword _obj password = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybePassword <- case password of+        Nothing -> return nullPtr+        Just jPassword -> do+            jPassword' <- textToCString jPassword+            return jPassword'+    soup_uri_set_password _obj' maybePassword+    touchManagedPtr _obj+    freeMem maybePassword+    return ()++-- method URI::set_path+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_path" soup_uri_set_path :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CString ->                              -- path : TBasicType TUTF8+    IO ()+++uRISetPath ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    T.Text ->                               -- path+    m ()+uRISetPath _obj path = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    path' <- textToCString path+    soup_uri_set_path _obj' path'+    touchManagedPtr _obj+    freeMem path'+    return ()++-- method URI::set_port+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "port", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_port" soup_uri_set_port :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    Word32 ->                               -- port : TBasicType TUInt32+    IO ()+++uRISetPort ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    Word32 ->                               -- port+    m ()+uRISetPort _obj port = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    soup_uri_set_port _obj' port+    touchManagedPtr _obj+    return ()++-- method URI::set_query+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "query", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "query", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_query" soup_uri_set_query :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CString ->                              -- query : TBasicType TUTF8+    IO ()+++uRISetQuery ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    Maybe (T.Text) ->                       -- query+    m ()+uRISetQuery _obj query = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeQuery <- case query of+        Nothing -> return nullPtr+        Just jQuery -> do+            jQuery' <- textToCString jQuery+            return jQuery'+    soup_uri_set_query _obj' maybeQuery+    touchManagedPtr _obj+    freeMem maybeQuery+    return ()++-- method URI::set_query_from_form+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_query_from_form" soup_uri_set_query_from_form :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    Ptr (GHashTable CString CString) ->     -- form : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO ()+++uRISetQueryFromForm ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    Map.Map T.Text T.Text ->                -- form+    m ()+uRISetQueryFromForm _obj form = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let form' = Map.toList form+    form'' <- mapFirstA textToCString form'+    form''' <- mapSecondA textToCString form''+    let form'''' = mapFirst cstringPackPtr form'''+    let form''''' = mapSecond cstringPackPtr form''''+    form'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) form'''''+    soup_uri_set_query_from_form _obj' form''''''+    touchManagedPtr _obj+    unrefGHashTable form''''''+    return ()++-- method URI::set_scheme+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_scheme" soup_uri_set_scheme :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CString ->                              -- scheme : TBasicType TUTF8+    IO ()+++uRISetScheme ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    T.Text ->                               -- scheme+    m ()+uRISetScheme _obj scheme = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    scheme' <- textToCString scheme+    soup_uri_set_scheme _obj' scheme'+    touchManagedPtr _obj+    freeMem scheme'+    return ()++-- method URI::set_user+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_set_user" soup_uri_set_user :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CString ->                              -- user : TBasicType TUTF8+    IO ()+++uRISetUser ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    Maybe (T.Text) ->                       -- user+    m ()+uRISetUser _obj user = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeUser <- case user of+        Nothing -> return nullPtr+        Just jUser -> do+            jUser' <- textToCString jUser+            return jUser'+    soup_uri_set_user _obj' maybeUser+    touchManagedPtr _obj+    freeMem maybeUser+    return ()++-- method URI::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "just_path_and_query", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "just_path_and_query", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_to_string" soup_uri_to_string :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    CInt ->                                 -- just_path_and_query : TBasicType TBoolean+    IO CString+++uRIToString ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    Bool ->                                 -- just_path_and_query+    m T.Text+uRIToString _obj just_path_and_query = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let just_path_and_query' = (fromIntegral . fromEnum) just_path_and_query+    result <- soup_uri_to_string _obj' just_path_and_query'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- method URI::uses_default_port+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_uses_default_port" soup_uri_uses_default_port :: +    Ptr URI ->                              -- _obj : TInterface "Soup" "URI"+    IO CInt+++uRIUsesDefaultPort ::+    (MonadIO m) =>+    URI ->                                  -- _obj+    m Bool+uRIUsesDefaultPort _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- soup_uri_uses_default_port _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- Enum WebsocketCloseCode++data WebsocketCloseCode = +      WebsocketCloseCodeNormal+    | WebsocketCloseCodeGoingAway+    | WebsocketCloseCodeProtocolError+    | WebsocketCloseCodeUnsupportedData+    | WebsocketCloseCodeNoStatus+    | WebsocketCloseCodeAbnormal+    | WebsocketCloseCodeBadData+    | WebsocketCloseCodePolicyViolation+    | WebsocketCloseCodeTooBig+    | WebsocketCloseCodeNoExtension+    | WebsocketCloseCodeServerError+    | WebsocketCloseCodeTlsHandshake+    | AnotherWebsocketCloseCode Int+    deriving (Show, Eq)++instance Enum WebsocketCloseCode where+    fromEnum WebsocketCloseCodeNormal = 1000+    fromEnum WebsocketCloseCodeGoingAway = 1001+    fromEnum WebsocketCloseCodeProtocolError = 1002+    fromEnum WebsocketCloseCodeUnsupportedData = 1003+    fromEnum WebsocketCloseCodeNoStatus = 1005+    fromEnum WebsocketCloseCodeAbnormal = 1006+    fromEnum WebsocketCloseCodeBadData = 1007+    fromEnum WebsocketCloseCodePolicyViolation = 1008+    fromEnum WebsocketCloseCodeTooBig = 1009+    fromEnum WebsocketCloseCodeNoExtension = 1010+    fromEnum WebsocketCloseCodeServerError = 1011+    fromEnum WebsocketCloseCodeTlsHandshake = 1015+    fromEnum (AnotherWebsocketCloseCode k) = k++    toEnum 1000 = WebsocketCloseCodeNormal+    toEnum 1001 = WebsocketCloseCodeGoingAway+    toEnum 1002 = WebsocketCloseCodeProtocolError+    toEnum 1003 = WebsocketCloseCodeUnsupportedData+    toEnum 1005 = WebsocketCloseCodeNoStatus+    toEnum 1006 = WebsocketCloseCodeAbnormal+    toEnum 1007 = WebsocketCloseCodeBadData+    toEnum 1008 = WebsocketCloseCodePolicyViolation+    toEnum 1009 = WebsocketCloseCodeTooBig+    toEnum 1010 = WebsocketCloseCodeNoExtension+    toEnum 1011 = WebsocketCloseCodeServerError+    toEnum 1015 = WebsocketCloseCodeTlsHandshake+    toEnum k = AnotherWebsocketCloseCode k++foreign import ccall "soup_websocket_close_code_get_type" c_soup_websocket_close_code_get_type :: +    IO GType++instance BoxedEnum WebsocketCloseCode where+    boxedEnumType _ = c_soup_websocket_close_code_get_type++-- object WebsocketConnection +newtype WebsocketConnection = WebsocketConnection (ForeignPtr WebsocketConnection)+noWebsocketConnection :: Maybe WebsocketConnection+noWebsocketConnection = Nothing++foreign import ccall "soup_websocket_connection_get_type"+    c_soup_websocket_connection_get_type :: IO GType++type instance ParentTypes WebsocketConnection = '[GObject.Object]++instance GObject WebsocketConnection where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_soup_websocket_connection_get_type+    ++class GObject o => WebsocketConnectionK o+instance (GObject o, IsDescendantOf WebsocketConnection o) => WebsocketConnectionK o++toWebsocketConnection :: WebsocketConnectionK o => o -> IO WebsocketConnection+toWebsocketConnection = unsafeCastTo WebsocketConnection++-- method WebsocketConnection::new+-- method type : Constructor+-- Args : [Arg {argName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Soup" "WebsocketConnectionType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "stream", argType = TInterface "Gio" "IOStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Soup" "WebsocketConnectionType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "WebsocketConnection"+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_new" soup_websocket_connection_new :: +    Ptr Gio.IOStream ->                     -- stream : TInterface "Gio" "IOStream"+    Ptr URI ->                              -- uri : TInterface "Soup" "URI"+    CUInt ->                                -- type : TInterface "Soup" "WebsocketConnectionType"+    CString ->                              -- origin : TBasicType TUTF8+    CString ->                              -- protocol : TBasicType TUTF8+    IO (Ptr WebsocketConnection)+++websocketConnectionNew ::+    (MonadIO m, Gio.IOStreamK a) =>+    a ->                                    -- stream+    URI ->                                  -- uri+    WebsocketConnectionType ->              -- type+    Maybe (T.Text) ->                       -- origin+    Maybe (T.Text) ->                       -- protocol+    m WebsocketConnection+websocketConnectionNew stream uri type_ origin protocol = liftIO $ do+    let stream' = unsafeManagedPtrCastPtr stream+    let uri' = unsafeManagedPtrGetPtr uri+    let type_' = (fromIntegral . fromEnum) type_+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- textToCString jOrigin+            return jOrigin'+    maybeProtocol <- case protocol of+        Nothing -> return nullPtr+        Just jProtocol -> do+            jProtocol' <- textToCString jProtocol+            return jProtocol'+    result <- soup_websocket_connection_new stream' uri' type_' maybeOrigin maybeProtocol+    result' <- (wrapObject WebsocketConnection) result+    touchManagedPtr stream+    touchManagedPtr uri+    freeMem maybeOrigin+    freeMem maybeProtocol+    return result'++-- method WebsocketConnection::close+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "code", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "code", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_close" soup_websocket_connection_close :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    Word16 ->                               -- code : TBasicType TUInt16+    CString ->                              -- data : TBasicType TUTF8+    IO ()+++websocketConnectionClose ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    Word16 ->                               -- code+    Maybe (T.Text) ->                       -- data+    m ()+websocketConnectionClose _obj code data_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeData_ <- case data_ of+        Nothing -> return nullPtr+        Just jData_ -> do+            jData_' <- textToCString jData_+            return jData_'+    soup_websocket_connection_close _obj' code maybeData_+    touchManagedPtr _obj+    freeMem maybeData_+    return ()++-- method WebsocketConnection::get_close_code+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt16+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_get_close_code" soup_websocket_connection_get_close_code :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    IO Word16+++websocketConnectionGetCloseCode ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    m Word16+websocketConnectionGetCloseCode _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_websocket_connection_get_close_code _obj'+    touchManagedPtr _obj+    return result++-- method WebsocketConnection::get_close_data+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_get_close_data" soup_websocket_connection_get_close_data :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    IO CString+++websocketConnectionGetCloseData ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    m T.Text+websocketConnectionGetCloseData _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_websocket_connection_get_close_data _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method WebsocketConnection::get_connection_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "WebsocketConnectionType"+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_get_connection_type" soup_websocket_connection_get_connection_type :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    IO CUInt+++websocketConnectionGetConnectionType ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    m WebsocketConnectionType+websocketConnectionGetConnectionType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_websocket_connection_get_connection_type _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method WebsocketConnection::get_io_stream+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Gio" "IOStream"+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_get_io_stream" soup_websocket_connection_get_io_stream :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    IO (Ptr Gio.IOStream)+++websocketConnectionGetIoStream ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    m Gio.IOStream+websocketConnectionGetIoStream _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_websocket_connection_get_io_stream _obj'+    result' <- (newObject Gio.IOStream) result+    touchManagedPtr _obj+    return result'++-- method WebsocketConnection::get_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_get_origin" soup_websocket_connection_get_origin :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    IO CString+++websocketConnectionGetOrigin ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    m T.Text+websocketConnectionGetOrigin _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_websocket_connection_get_origin _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method WebsocketConnection::get_protocol+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_get_protocol" soup_websocket_connection_get_protocol :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    IO CString+++websocketConnectionGetProtocol ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    m T.Text+websocketConnectionGetProtocol _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_websocket_connection_get_protocol _obj'+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method WebsocketConnection::get_state+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "WebsocketState"+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_get_state" soup_websocket_connection_get_state :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    IO CUInt+++websocketConnectionGetState ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    m WebsocketState+websocketConnectionGetState _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_websocket_connection_get_state _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method WebsocketConnection::get_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "URI"+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_get_uri" soup_websocket_connection_get_uri :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    IO (Ptr URI)+++websocketConnectionGetUri ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    m URI+websocketConnectionGetUri _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- soup_websocket_connection_get_uri _obj'+    result' <- (newBoxed URI) result+    touchManagedPtr _obj+    return result'++-- method WebsocketConnection::send_binary+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_send_binary" soup_websocket_connection_send_binary :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)+    Word64 ->                               -- length : TBasicType TUInt64+    IO ()+++websocketConnectionSendBinary ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    ByteString ->                           -- data+    m ()+websocketConnectionSendBinary _obj data_ = liftIO $ do+    let length_ = fromIntegral $ B.length data_+    let _obj' = unsafeManagedPtrCastPtr _obj+    data_' <- packByteString data_+    soup_websocket_connection_send_binary _obj' data_' length_+    touchManagedPtr _obj+    freeMem data_'+    return ()++-- method WebsocketConnection::send_text+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "WebsocketConnection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_connection_send_text" soup_websocket_connection_send_text :: +    Ptr WebsocketConnection ->              -- _obj : TInterface "Soup" "WebsocketConnection"+    CString ->                              -- text : TBasicType TUTF8+    IO ()+++websocketConnectionSendText ::+    (MonadIO m, WebsocketConnectionK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- text+    m ()+websocketConnectionSendText _obj text = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    text' <- textToCString text+    soup_websocket_connection_send_text _obj' text'+    touchManagedPtr _obj+    freeMem text'+    return ()++-- signal WebsocketConnection::closed+type WebsocketConnectionClosedCallback =+    IO ()++noWebsocketConnectionClosedCallback :: Maybe WebsocketConnectionClosedCallback+noWebsocketConnectionClosedCallback = Nothing++type WebsocketConnectionClosedCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkWebsocketConnectionClosedCallback :: WebsocketConnectionClosedCallbackC -> IO (FunPtr WebsocketConnectionClosedCallbackC)++websocketConnectionClosedClosure :: WebsocketConnectionClosedCallback -> IO Closure+websocketConnectionClosedClosure cb = newCClosure =<< mkWebsocketConnectionClosedCallback wrapped+    where wrapped = websocketConnectionClosedCallbackWrapper cb++websocketConnectionClosedCallbackWrapper ::+    WebsocketConnectionClosedCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+websocketConnectionClosedCallbackWrapper _cb _ _ = do+    _cb ++onWebsocketConnectionClosed :: (GObject a, MonadIO m) => a -> WebsocketConnectionClosedCallback -> m SignalHandlerId+onWebsocketConnectionClosed obj cb = liftIO $ connectWebsocketConnectionClosed obj cb SignalConnectBefore+afterWebsocketConnectionClosed :: (GObject a, MonadIO m) => a -> WebsocketConnectionClosedCallback -> m SignalHandlerId+afterWebsocketConnectionClosed obj cb = connectWebsocketConnectionClosed obj cb SignalConnectAfter++connectWebsocketConnectionClosed :: (GObject a, MonadIO m) =>+                                    a -> WebsocketConnectionClosedCallback -> SignalConnectMode -> m SignalHandlerId+connectWebsocketConnectionClosed obj cb after = liftIO $ do+    cb' <- mkWebsocketConnectionClosedCallback (websocketConnectionClosedCallbackWrapper cb)+    connectSignalFunPtr obj "closed" cb' after++-- signal WebsocketConnection::closing+type WebsocketConnectionClosingCallback =+    IO ()++noWebsocketConnectionClosingCallback :: Maybe WebsocketConnectionClosingCallback+noWebsocketConnectionClosingCallback = Nothing++type WebsocketConnectionClosingCallbackC =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkWebsocketConnectionClosingCallback :: WebsocketConnectionClosingCallbackC -> IO (FunPtr WebsocketConnectionClosingCallbackC)++websocketConnectionClosingClosure :: WebsocketConnectionClosingCallback -> IO Closure+websocketConnectionClosingClosure cb = newCClosure =<< mkWebsocketConnectionClosingCallback wrapped+    where wrapped = websocketConnectionClosingCallbackWrapper cb++websocketConnectionClosingCallbackWrapper ::+    WebsocketConnectionClosingCallback ->+    Ptr () ->+    Ptr () ->+    IO ()+websocketConnectionClosingCallbackWrapper _cb _ _ = do+    _cb ++onWebsocketConnectionClosing :: (GObject a, MonadIO m) => a -> WebsocketConnectionClosingCallback -> m SignalHandlerId+onWebsocketConnectionClosing obj cb = liftIO $ connectWebsocketConnectionClosing obj cb SignalConnectBefore+afterWebsocketConnectionClosing :: (GObject a, MonadIO m) => a -> WebsocketConnectionClosingCallback -> m SignalHandlerId+afterWebsocketConnectionClosing obj cb = connectWebsocketConnectionClosing obj cb SignalConnectAfter++connectWebsocketConnectionClosing :: (GObject a, MonadIO m) =>+                                     a -> WebsocketConnectionClosingCallback -> SignalConnectMode -> m SignalHandlerId+connectWebsocketConnectionClosing obj cb after = liftIO $ do+    cb' <- mkWebsocketConnectionClosingCallback (websocketConnectionClosingCallbackWrapper cb)+    connectSignalFunPtr obj "closing" cb' after++-- signal WebsocketConnection::error+type WebsocketConnectionErrorCallback =+    GError ->+    IO ()++noWebsocketConnectionErrorCallback :: Maybe WebsocketConnectionErrorCallback+noWebsocketConnectionErrorCallback = Nothing++type WebsocketConnectionErrorCallbackC =+    Ptr () ->                               -- object+    Ptr GError ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkWebsocketConnectionErrorCallback :: WebsocketConnectionErrorCallbackC -> IO (FunPtr WebsocketConnectionErrorCallbackC)++websocketConnectionErrorClosure :: WebsocketConnectionErrorCallback -> IO Closure+websocketConnectionErrorClosure cb = newCClosure =<< mkWebsocketConnectionErrorCallback wrapped+    where wrapped = websocketConnectionErrorCallbackWrapper cb++websocketConnectionErrorCallbackWrapper ::+    WebsocketConnectionErrorCallback ->+    Ptr () ->+    Ptr GError ->+    Ptr () ->+    IO ()+websocketConnectionErrorCallbackWrapper _cb _ error_ _ = do+    error_' <- (newBoxed GError) error_+    _cb  error_'++onWebsocketConnectionError :: (GObject a, MonadIO m) => a -> WebsocketConnectionErrorCallback -> m SignalHandlerId+onWebsocketConnectionError obj cb = liftIO $ connectWebsocketConnectionError obj cb SignalConnectBefore+afterWebsocketConnectionError :: (GObject a, MonadIO m) => a -> WebsocketConnectionErrorCallback -> m SignalHandlerId+afterWebsocketConnectionError obj cb = connectWebsocketConnectionError obj cb SignalConnectAfter++connectWebsocketConnectionError :: (GObject a, MonadIO m) =>+                                   a -> WebsocketConnectionErrorCallback -> SignalConnectMode -> m SignalHandlerId+connectWebsocketConnectionError obj cb after = liftIO $ do+    cb' <- mkWebsocketConnectionErrorCallback (websocketConnectionErrorCallbackWrapper cb)+    connectSignalFunPtr obj "error" cb' after++-- signal WebsocketConnection::message+type WebsocketConnectionMessageCallback =+    Int32 ->+    GLib.Bytes ->+    IO ()++noWebsocketConnectionMessageCallback :: Maybe WebsocketConnectionMessageCallback+noWebsocketConnectionMessageCallback = Nothing++type WebsocketConnectionMessageCallbackC =+    Ptr () ->                               -- object+    Int32 ->+    Ptr GLib.Bytes ->+    Ptr () ->                               -- user_data+    IO ()++foreign import ccall "wrapper"+    mkWebsocketConnectionMessageCallback :: WebsocketConnectionMessageCallbackC -> IO (FunPtr WebsocketConnectionMessageCallbackC)++websocketConnectionMessageClosure :: WebsocketConnectionMessageCallback -> IO Closure+websocketConnectionMessageClosure cb = newCClosure =<< mkWebsocketConnectionMessageCallback wrapped+    where wrapped = websocketConnectionMessageCallbackWrapper cb++websocketConnectionMessageCallbackWrapper ::+    WebsocketConnectionMessageCallback ->+    Ptr () ->+    Int32 ->+    Ptr GLib.Bytes ->+    Ptr () ->+    IO ()+websocketConnectionMessageCallbackWrapper _cb _ type_ message _ = do+    message' <- (newBoxed GLib.Bytes) message+    _cb  type_ message'++onWebsocketConnectionMessage :: (GObject a, MonadIO m) => a -> WebsocketConnectionMessageCallback -> m SignalHandlerId+onWebsocketConnectionMessage obj cb = liftIO $ connectWebsocketConnectionMessage obj cb SignalConnectBefore+afterWebsocketConnectionMessage :: (GObject a, MonadIO m) => a -> WebsocketConnectionMessageCallback -> m SignalHandlerId+afterWebsocketConnectionMessage obj cb = connectWebsocketConnectionMessage obj cb SignalConnectAfter++connectWebsocketConnectionMessage :: (GObject a, MonadIO m) =>+                                     a -> WebsocketConnectionMessageCallback -> SignalConnectMode -> m SignalHandlerId+connectWebsocketConnectionMessage obj cb after = liftIO $ do+    cb' <- mkWebsocketConnectionMessageCallback (websocketConnectionMessageCallbackWrapper cb)+    connectSignalFunPtr obj "message" cb' after++-- Enum WebsocketConnectionType++data WebsocketConnectionType = +      WebsocketConnectionTypeUnknown+    | WebsocketConnectionTypeClient+    | WebsocketConnectionTypeServer+    | AnotherWebsocketConnectionType Int+    deriving (Show, Eq)++instance Enum WebsocketConnectionType where+    fromEnum WebsocketConnectionTypeUnknown = 0+    fromEnum WebsocketConnectionTypeClient = 1+    fromEnum WebsocketConnectionTypeServer = 2+    fromEnum (AnotherWebsocketConnectionType k) = k++    toEnum 0 = WebsocketConnectionTypeUnknown+    toEnum 1 = WebsocketConnectionTypeClient+    toEnum 2 = WebsocketConnectionTypeServer+    toEnum k = AnotherWebsocketConnectionType k++foreign import ccall "soup_websocket_connection_type_get_type" c_soup_websocket_connection_type_get_type :: +    IO GType++instance BoxedEnum WebsocketConnectionType where+    boxedEnumType _ = c_soup_websocket_connection_type_get_type++-- Enum WebsocketDataType++data WebsocketDataType = +      WebsocketDataTypeText+    | WebsocketDataTypeBinary+    | AnotherWebsocketDataType Int+    deriving (Show, Eq)++instance Enum WebsocketDataType where+    fromEnum WebsocketDataTypeText = 1+    fromEnum WebsocketDataTypeBinary = 2+    fromEnum (AnotherWebsocketDataType k) = k++    toEnum 1 = WebsocketDataTypeText+    toEnum 2 = WebsocketDataTypeBinary+    toEnum k = AnotherWebsocketDataType k++foreign import ccall "soup_websocket_data_type_get_type" c_soup_websocket_data_type_get_type :: +    IO GType++instance BoxedEnum WebsocketDataType where+    boxedEnumType _ = c_soup_websocket_data_type_get_type++-- Enum WebsocketError++data WebsocketError = +      WebsocketErrorFailed+    | WebsocketErrorNotWebsocket+    | WebsocketErrorBadHandshake+    | WebsocketErrorBadOrigin+    | AnotherWebsocketError Int+    deriving (Show, Eq)++instance Enum WebsocketError where+    fromEnum WebsocketErrorFailed = 0+    fromEnum WebsocketErrorNotWebsocket = 1+    fromEnum WebsocketErrorBadHandshake = 2+    fromEnum WebsocketErrorBadOrigin = 3+    fromEnum (AnotherWebsocketError k) = k++    toEnum 0 = WebsocketErrorFailed+    toEnum 1 = WebsocketErrorNotWebsocket+    toEnum 2 = WebsocketErrorBadHandshake+    toEnum 3 = WebsocketErrorBadOrigin+    toEnum k = AnotherWebsocketError k++foreign import ccall "soup_websocket_error_get_type" c_soup_websocket_error_get_type :: +    IO GType++instance BoxedEnum WebsocketError where+    boxedEnumType _ = c_soup_websocket_error_get_type++-- Enum WebsocketState++data WebsocketState = +      WebsocketStateOpen+    | WebsocketStateClosing+    | WebsocketStateClosed+    | AnotherWebsocketState Int+    deriving (Show, Eq)++instance Enum WebsocketState where+    fromEnum WebsocketStateOpen = 1+    fromEnum WebsocketStateClosing = 2+    fromEnum WebsocketStateClosed = 3+    fromEnum (AnotherWebsocketState k) = k++    toEnum 1 = WebsocketStateOpen+    toEnum 2 = WebsocketStateClosing+    toEnum 3 = WebsocketStateClosed+    toEnum k = AnotherWebsocketState k++foreign import ccall "soup_websocket_state_get_type" c_soup_websocket_state_get_type :: +    IO GType++instance BoxedEnum WebsocketState where+    boxedEnumType _ = c_soup_websocket_state_get_type++-- Enum XMLRPCError++data XMLRPCError = +      XMLRPCErrorArguments+    | XMLRPCErrorRetval+    | AnotherXMLRPCError Int+    deriving (Show, Eq)++instance Enum XMLRPCError where+    fromEnum XMLRPCErrorArguments = 0+    fromEnum XMLRPCErrorRetval = 1+    fromEnum (AnotherXMLRPCError k) = k++    toEnum 0 = XMLRPCErrorArguments+    toEnum 1 = XMLRPCErrorRetval+    toEnum k = AnotherXMLRPCError k++instance GErrorClass XMLRPCError where+    gerrorClassDomain _ = "soup_xmlrpc_error_quark"++catchXMLRPCError ::+    IO a ->+    (XMLRPCError -> GErrorMessage -> IO a) ->+    IO a+catchXMLRPCError = catchGErrorJustDomain++handleXMLRPCError ::+    (XMLRPCError -> GErrorMessage -> IO a) ->+    IO a ->+    IO a+handleXMLRPCError = handleGErrorJustDomain++foreign import ccall "soup_xmlrpc_error_get_type" c_soup_xmlrpc_error_get_type :: +    IO GType++instance BoxedEnum XMLRPCError where+    boxedEnumType _ = c_soup_xmlrpc_error_get_type++-- Enum XMLRPCFault++data XMLRPCFault = +      XMLRPCFaultParseErrorNotWellFormed+    | XMLRPCFaultParseErrorUnsupportedEncoding+    | XMLRPCFaultParseErrorInvalidCharacterForEncoding+    | XMLRPCFaultServerErrorInvalidXmlRpc+    | XMLRPCFaultServerErrorRequestedMethodNotFound+    | XMLRPCFaultServerErrorInvalidMethodParameters+    | XMLRPCFaultServerErrorInternalXmlRpcError+    | XMLRPCFaultApplicationError+    | XMLRPCFaultSystemError+    | XMLRPCFaultTransportError+    | AnotherXMLRPCFault Int+    deriving (Show, Eq)++instance Enum XMLRPCFault where+    fromEnum XMLRPCFaultParseErrorNotWellFormed = -32700+    fromEnum XMLRPCFaultParseErrorUnsupportedEncoding = -32701+    fromEnum XMLRPCFaultParseErrorInvalidCharacterForEncoding = -32702+    fromEnum XMLRPCFaultServerErrorInvalidXmlRpc = -32600+    fromEnum XMLRPCFaultServerErrorRequestedMethodNotFound = -32601+    fromEnum XMLRPCFaultServerErrorInvalidMethodParameters = -32602+    fromEnum XMLRPCFaultServerErrorInternalXmlRpcError = -32603+    fromEnum XMLRPCFaultApplicationError = -32500+    fromEnum XMLRPCFaultSystemError = -32400+    fromEnum XMLRPCFaultTransportError = -32300+    fromEnum (AnotherXMLRPCFault k) = k++    toEnum -32702 = XMLRPCFaultParseErrorInvalidCharacterForEncoding+    toEnum -32701 = XMLRPCFaultParseErrorUnsupportedEncoding+    toEnum -32700 = XMLRPCFaultParseErrorNotWellFormed+    toEnum -32603 = XMLRPCFaultServerErrorInternalXmlRpcError+    toEnum -32602 = XMLRPCFaultServerErrorInvalidMethodParameters+    toEnum -32601 = XMLRPCFaultServerErrorRequestedMethodNotFound+    toEnum -32600 = XMLRPCFaultServerErrorInvalidXmlRpc+    toEnum -32500 = XMLRPCFaultApplicationError+    toEnum -32400 = XMLRPCFaultSystemError+    toEnum -32300 = XMLRPCFaultTransportError+    toEnum k = AnotherXMLRPCFault k++foreign import ccall "soup_xmlrpc_fault_get_type" c_soup_xmlrpc_fault_get_type :: +    IO GType++instance BoxedEnum XMLRPCFault where+    boxedEnumType _ = c_soup_xmlrpc_fault_get_type++-- constant _ADDRESS_ANY_PORT++_ADDRESS_ANY_PORT :: Int32+_ADDRESS_ANY_PORT = 0+-- constant _ADDRESS_FAMILY++_ADDRESS_FAMILY :: T.Text+_ADDRESS_FAMILY = "family"+-- constant _ADDRESS_NAME++_ADDRESS_NAME :: T.Text+_ADDRESS_NAME = "name"+-- constant _ADDRESS_PHYSICAL++_ADDRESS_PHYSICAL :: T.Text+_ADDRESS_PHYSICAL = "physical"+-- constant _ADDRESS_PORT++_ADDRESS_PORT :: T.Text+_ADDRESS_PORT = "port"+-- constant _ADDRESS_PROTOCOL++_ADDRESS_PROTOCOL :: T.Text+_ADDRESS_PROTOCOL = "protocol"+-- constant _ADDRESS_SOCKADDR++_ADDRESS_SOCKADDR :: T.Text+_ADDRESS_SOCKADDR = "sockaddr"+-- constant _AUTH_DOMAIN_ADD_PATH++_AUTH_DOMAIN_ADD_PATH :: T.Text+_AUTH_DOMAIN_ADD_PATH = "add-path"+-- constant _AUTH_DOMAIN_BASIC_AUTH_CALLBACK++_AUTH_DOMAIN_BASIC_AUTH_CALLBACK :: T.Text+_AUTH_DOMAIN_BASIC_AUTH_CALLBACK = "auth-callback"+-- constant _AUTH_DOMAIN_BASIC_AUTH_DATA++_AUTH_DOMAIN_BASIC_AUTH_DATA :: T.Text+_AUTH_DOMAIN_BASIC_AUTH_DATA = "auth-data"+-- constant _AUTH_DOMAIN_BASIC_H++_AUTH_DOMAIN_BASIC_H :: Int32+_AUTH_DOMAIN_BASIC_H = 1+-- constant _AUTH_DOMAIN_DIGEST_AUTH_CALLBACK++_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK :: T.Text+_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK = "auth-callback"+-- constant _AUTH_DOMAIN_DIGEST_AUTH_DATA++_AUTH_DOMAIN_DIGEST_AUTH_DATA :: T.Text+_AUTH_DOMAIN_DIGEST_AUTH_DATA = "auth-data"+-- constant _AUTH_DOMAIN_DIGEST_H++_AUTH_DOMAIN_DIGEST_H :: Int32+_AUTH_DOMAIN_DIGEST_H = 1+-- constant _AUTH_DOMAIN_FILTER++_AUTH_DOMAIN_FILTER :: T.Text+_AUTH_DOMAIN_FILTER = "filter"+-- constant _AUTH_DOMAIN_FILTER_DATA++_AUTH_DOMAIN_FILTER_DATA :: T.Text+_AUTH_DOMAIN_FILTER_DATA = "filter-data"+-- constant _AUTH_DOMAIN_GENERIC_AUTH_CALLBACK++_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK :: T.Text+_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK = "generic-auth-callback"+-- constant _AUTH_DOMAIN_GENERIC_AUTH_DATA++_AUTH_DOMAIN_GENERIC_AUTH_DATA :: T.Text+_AUTH_DOMAIN_GENERIC_AUTH_DATA = "generic-auth-data"+-- constant _AUTH_DOMAIN_H++_AUTH_DOMAIN_H :: Int32+_AUTH_DOMAIN_H = 1+-- constant _AUTH_DOMAIN_PROXY++_AUTH_DOMAIN_PROXY :: T.Text+_AUTH_DOMAIN_PROXY = "proxy"+-- constant _AUTH_DOMAIN_REALM++_AUTH_DOMAIN_REALM :: T.Text+_AUTH_DOMAIN_REALM = "realm"+-- constant _AUTH_DOMAIN_REMOVE_PATH++_AUTH_DOMAIN_REMOVE_PATH :: T.Text+_AUTH_DOMAIN_REMOVE_PATH = "remove-path"+-- constant _AUTH_H++_AUTH_H :: Int32+_AUTH_H = 1+-- constant _AUTH_HOST++_AUTH_HOST :: T.Text+_AUTH_HOST = "host"+-- constant _AUTH_IS_AUTHENTICATED++_AUTH_IS_AUTHENTICATED :: T.Text+_AUTH_IS_AUTHENTICATED = "is-authenticated"+-- constant _AUTH_IS_FOR_PROXY++_AUTH_IS_FOR_PROXY :: T.Text+_AUTH_IS_FOR_PROXY = "is-for-proxy"+-- constant _AUTH_MANAGER_H++_AUTH_MANAGER_H :: Int32+_AUTH_MANAGER_H = 1+-- constant _AUTH_REALM++_AUTH_REALM :: T.Text+_AUTH_REALM = "realm"+-- constant _AUTH_SCHEME_NAME++_AUTH_SCHEME_NAME :: T.Text+_AUTH_SCHEME_NAME = "scheme-name"+-- constant _CACHE_H++_CACHE_H :: Int32+_CACHE_H = 1+-- constant _CHAR_HTTP_CTL++_CHAR_HTTP_CTL :: Int32+_CHAR_HTTP_CTL = 16+-- constant _CHAR_HTTP_SEPARATOR++_CHAR_HTTP_SEPARATOR :: Int32+_CHAR_HTTP_SEPARATOR = 8+-- constant _CHAR_URI_GEN_DELIMS++_CHAR_URI_GEN_DELIMS :: Int32+_CHAR_URI_GEN_DELIMS = 2+-- constant _CHAR_URI_PERCENT_ENCODED++_CHAR_URI_PERCENT_ENCODED :: Int32+_CHAR_URI_PERCENT_ENCODED = 1+-- constant _CHAR_URI_SUB_DELIMS++_CHAR_URI_SUB_DELIMS :: Int32+_CHAR_URI_SUB_DELIMS = 4+-- constant _CONTENT_DECODER_H++_CONTENT_DECODER_H :: Int32+_CONTENT_DECODER_H = 1+-- constant _CONTENT_SNIFFER_H++_CONTENT_SNIFFER_H :: Int32+_CONTENT_SNIFFER_H = 1+-- constant _COOKIE_H++_COOKIE_H :: Int32+_COOKIE_H = 1+-- constant _COOKIE_JAR_ACCEPT_POLICY++_COOKIE_JAR_ACCEPT_POLICY :: T.Text+_COOKIE_JAR_ACCEPT_POLICY = "accept-policy"+-- constant _COOKIE_JAR_DB_FILENAME++_COOKIE_JAR_DB_FILENAME :: T.Text+_COOKIE_JAR_DB_FILENAME = "filename"+-- constant _COOKIE_JAR_DB_H++_COOKIE_JAR_DB_H :: Int32+_COOKIE_JAR_DB_H = 1+-- constant _COOKIE_JAR_H++_COOKIE_JAR_H :: Int32+_COOKIE_JAR_H = 1+-- constant _COOKIE_JAR_READ_ONLY++_COOKIE_JAR_READ_ONLY :: T.Text+_COOKIE_JAR_READ_ONLY = "read-only"+-- constant _COOKIE_JAR_TEXT_FILENAME++_COOKIE_JAR_TEXT_FILENAME :: T.Text+_COOKIE_JAR_TEXT_FILENAME = "filename"+-- constant _COOKIE_JAR_TEXT_H++_COOKIE_JAR_TEXT_H :: Int32+_COOKIE_JAR_TEXT_H = 1+-- constant _COOKIE_MAX_AGE_ONE_DAY++_COOKIE_MAX_AGE_ONE_DAY :: Int32+_COOKIE_MAX_AGE_ONE_DAY = 0+-- constant _COOKIE_MAX_AGE_ONE_HOUR++_COOKIE_MAX_AGE_ONE_HOUR :: Int32+_COOKIE_MAX_AGE_ONE_HOUR = 3600+-- constant _COOKIE_MAX_AGE_ONE_WEEK++_COOKIE_MAX_AGE_ONE_WEEK :: Int32+_COOKIE_MAX_AGE_ONE_WEEK = 0+-- constant _COOKIE_MAX_AGE_ONE_YEAR++_COOKIE_MAX_AGE_ONE_YEAR :: Int32+_COOKIE_MAX_AGE_ONE_YEAR = 0+-- constant _DATE_H++_DATE_H :: Int32+_DATE_H = 1+-- constant _FORM_H++_FORM_H :: Int32+_FORM_H = 1+-- constant _FORM_MIME_TYPE_MULTIPART++_FORM_MIME_TYPE_MULTIPART :: T.Text+_FORM_MIME_TYPE_MULTIPART = "multipart/form-data"+-- constant _FORM_MIME_TYPE_URLENCODED++_FORM_MIME_TYPE_URLENCODED :: T.Text+_FORM_MIME_TYPE_URLENCODED = "application/x-www-form-urlencoded"+-- constant _HEADERS_H++_HEADERS_H :: Int32+_HEADERS_H = 1+-- constant _LOGGER_H++_LOGGER_H :: Int32+_LOGGER_H = 1+-- constant _MESSAGE_BODY_H++_MESSAGE_BODY_H :: Int32+_MESSAGE_BODY_H = 1+-- constant _MESSAGE_FIRST_PARTY++_MESSAGE_FIRST_PARTY :: T.Text+_MESSAGE_FIRST_PARTY = "first-party"+-- constant _MESSAGE_FLAGS++_MESSAGE_FLAGS :: T.Text+_MESSAGE_FLAGS = "flags"+-- constant _MESSAGE_H++_MESSAGE_H :: Int32+_MESSAGE_H = 1+-- constant _MESSAGE_HEADERS_H++_MESSAGE_HEADERS_H :: Int32+_MESSAGE_HEADERS_H = 1+-- constant _MESSAGE_HTTP_VERSION++_MESSAGE_HTTP_VERSION :: T.Text+_MESSAGE_HTTP_VERSION = "http-version"+-- constant _MESSAGE_METHOD++_MESSAGE_METHOD :: T.Text+_MESSAGE_METHOD = "method"+-- constant _MESSAGE_PRIORITY++_MESSAGE_PRIORITY :: T.Text+_MESSAGE_PRIORITY = "priority"+-- constant _MESSAGE_REASON_PHRASE++_MESSAGE_REASON_PHRASE :: T.Text+_MESSAGE_REASON_PHRASE = "reason-phrase"+-- constant _MESSAGE_REQUEST_BODY++_MESSAGE_REQUEST_BODY :: T.Text+_MESSAGE_REQUEST_BODY = "request-body"+-- constant _MESSAGE_REQUEST_BODY_DATA++_MESSAGE_REQUEST_BODY_DATA :: T.Text+_MESSAGE_REQUEST_BODY_DATA = "request-body-data"+-- constant _MESSAGE_REQUEST_HEADERS++_MESSAGE_REQUEST_HEADERS :: T.Text+_MESSAGE_REQUEST_HEADERS = "request-headers"+-- constant _MESSAGE_RESPONSE_BODY++_MESSAGE_RESPONSE_BODY :: T.Text+_MESSAGE_RESPONSE_BODY = "response-body"+-- constant _MESSAGE_RESPONSE_BODY_DATA++_MESSAGE_RESPONSE_BODY_DATA :: T.Text+_MESSAGE_RESPONSE_BODY_DATA = "response-body-data"+-- constant _MESSAGE_RESPONSE_HEADERS++_MESSAGE_RESPONSE_HEADERS :: T.Text+_MESSAGE_RESPONSE_HEADERS = "response-headers"+-- constant _MESSAGE_SERVER_SIDE++_MESSAGE_SERVER_SIDE :: T.Text+_MESSAGE_SERVER_SIDE = "server-side"+-- constant _MESSAGE_STATUS_CODE++_MESSAGE_STATUS_CODE :: T.Text+_MESSAGE_STATUS_CODE = "status-code"+-- constant _MESSAGE_TLS_CERTIFICATE++_MESSAGE_TLS_CERTIFICATE :: T.Text+_MESSAGE_TLS_CERTIFICATE = "tls-certificate"+-- constant _MESSAGE_TLS_ERRORS++_MESSAGE_TLS_ERRORS :: T.Text+_MESSAGE_TLS_ERRORS = "tls-errors"+-- constant _MESSAGE_URI++_MESSAGE_URI :: T.Text+_MESSAGE_URI = "uri"+-- constant _METHOD_H++_METHOD_H :: Int32+_METHOD_H = 1+-- constant _MISC_H++_MISC_H :: Int32+_MISC_H = 1+-- constant _MULTIPART_H++_MULTIPART_H :: Int32+_MULTIPART_H = 1+-- constant _MULTIPART_INPUT_STREAM_H++_MULTIPART_INPUT_STREAM_H :: Int32+_MULTIPART_INPUT_STREAM_H = 1+-- constant _PASSWORD_MANAGER_H++_PASSWORD_MANAGER_H :: Int32+_PASSWORD_MANAGER_H = 1+-- constant _PROXY_RESOLVER_DEFAULT_H++_PROXY_RESOLVER_DEFAULT_H :: Int32+_PROXY_RESOLVER_DEFAULT_H = 1+-- constant _PROXY_URI_RESOLVER_H++_PROXY_URI_RESOLVER_H :: Int32+_PROXY_URI_RESOLVER_H = 1+-- constant _REQUESTER_H++_REQUESTER_H :: Int32+_REQUESTER_H = 1+-- constant _REQUEST_DATA_H++_REQUEST_DATA_H :: Int32+_REQUEST_DATA_H = 1+-- constant _REQUEST_FILE_H++_REQUEST_FILE_H :: Int32+_REQUEST_FILE_H = 1+-- constant _REQUEST_H++_REQUEST_H :: Int32+_REQUEST_H = 1+-- constant _REQUEST_HTTP_H++_REQUEST_HTTP_H :: Int32+_REQUEST_HTTP_H = 1+-- constant _REQUEST_SESSION++_REQUEST_SESSION :: T.Text+_REQUEST_SESSION = "session"+-- constant _REQUEST_URI++_REQUEST_URI :: T.Text+_REQUEST_URI = "uri"+-- constant _SERVER_ASYNC_CONTEXT+{-# DEPRECATED _SERVER_ASYNC_CONTEXT ["The new API uses the thread-default #GMainContext","rather than having an explicitly-specified one."]#-}+_SERVER_ASYNC_CONTEXT :: T.Text+_SERVER_ASYNC_CONTEXT = "async-context"+-- constant _SERVER_H++_SERVER_H :: Int32+_SERVER_H = 1+-- constant _SERVER_HTTPS_ALIASES++_SERVER_HTTPS_ALIASES :: T.Text+_SERVER_HTTPS_ALIASES = "https-aliases"+-- constant _SERVER_HTTP_ALIASES++_SERVER_HTTP_ALIASES :: T.Text+_SERVER_HTTP_ALIASES = "http-aliases"+-- constant _SERVER_INTERFACE+{-# DEPRECATED _SERVER_INTERFACE ["#SoupServers can listen on multiple interfaces","at once now. Use soup_server_listen(), etc, to listen on an","interface, and soup_server_get_uris() to see what addresses","are being listened on."]#-}+_SERVER_INTERFACE :: T.Text+_SERVER_INTERFACE = "interface"+-- constant _SERVER_PORT+{-# DEPRECATED _SERVER_PORT ["#SoupServers can listen on multiple interfaces","at once now. Use soup_server_listen(), etc, to listen on a","port, and soup_server_get_uris() to see what ports are","being listened on."]#-}+_SERVER_PORT :: T.Text+_SERVER_PORT = "port"+-- constant _SERVER_RAW_PATHS++_SERVER_RAW_PATHS :: T.Text+_SERVER_RAW_PATHS = "raw-paths"+-- constant _SERVER_SERVER_HEADER++_SERVER_SERVER_HEADER :: T.Text+_SERVER_SERVER_HEADER = "server-header"+-- constant _SERVER_SSL_CERT_FILE+{-# DEPRECATED _SERVER_SSL_CERT_FILE ["use #SoupServer:tls-certificate or","soup_server_set_ssl_certificate()."]#-}+_SERVER_SSL_CERT_FILE :: T.Text+_SERVER_SSL_CERT_FILE = "ssl-cert-file"+-- constant _SERVER_SSL_KEY_FILE+{-# DEPRECATED _SERVER_SSL_KEY_FILE ["use #SoupServer:tls-certificate or","soup_server_set_ssl_certificate()."]#-}+_SERVER_SSL_KEY_FILE :: T.Text+_SERVER_SSL_KEY_FILE = "ssl-key-file"+-- constant _SERVER_TLS_CERTIFICATE++_SERVER_TLS_CERTIFICATE :: T.Text+_SERVER_TLS_CERTIFICATE = "tls-certificate"+-- constant _SESSION_ACCEPT_LANGUAGE++_SESSION_ACCEPT_LANGUAGE :: T.Text+_SESSION_ACCEPT_LANGUAGE = "accept-language"+-- constant _SESSION_ACCEPT_LANGUAGE_AUTO++_SESSION_ACCEPT_LANGUAGE_AUTO :: T.Text+_SESSION_ACCEPT_LANGUAGE_AUTO = "accept-language-auto"+-- constant _SESSION_ASYNC_CONTEXT++_SESSION_ASYNC_CONTEXT :: T.Text+_SESSION_ASYNC_CONTEXT = "async-context"+-- constant _SESSION_ASYNC_H++_SESSION_ASYNC_H :: Int32+_SESSION_ASYNC_H = 1+-- constant _SESSION_FEATURE_H++_SESSION_FEATURE_H :: Int32+_SESSION_FEATURE_H = 1+-- constant _SESSION_H++_SESSION_H :: Int32+_SESSION_H = 1+-- constant _SESSION_HTTPS_ALIASES++_SESSION_HTTPS_ALIASES :: T.Text+_SESSION_HTTPS_ALIASES = "https-aliases"+-- constant _SESSION_HTTP_ALIASES++_SESSION_HTTP_ALIASES :: T.Text+_SESSION_HTTP_ALIASES = "http-aliases"+-- constant _SESSION_IDLE_TIMEOUT++_SESSION_IDLE_TIMEOUT :: T.Text+_SESSION_IDLE_TIMEOUT = "idle-timeout"+-- constant _SESSION_LOCAL_ADDRESS++_SESSION_LOCAL_ADDRESS :: T.Text+_SESSION_LOCAL_ADDRESS = "local-address"+-- constant _SESSION_MAX_CONNS++_SESSION_MAX_CONNS :: T.Text+_SESSION_MAX_CONNS = "max-conns"+-- constant _SESSION_MAX_CONNS_PER_HOST++_SESSION_MAX_CONNS_PER_HOST :: T.Text+_SESSION_MAX_CONNS_PER_HOST = "max-conns-per-host"+-- constant _SESSION_PROXY_RESOLVER++_SESSION_PROXY_RESOLVER :: T.Text+_SESSION_PROXY_RESOLVER = "proxy-resolver"+-- constant _SESSION_PROXY_URI++_SESSION_PROXY_URI :: T.Text+_SESSION_PROXY_URI = "proxy-uri"+-- constant _SESSION_SSL_CA_FILE++_SESSION_SSL_CA_FILE :: T.Text+_SESSION_SSL_CA_FILE = "ssl-ca-file"+-- constant _SESSION_SSL_STRICT++_SESSION_SSL_STRICT :: T.Text+_SESSION_SSL_STRICT = "ssl-strict"+-- constant _SESSION_SSL_USE_SYSTEM_CA_FILE++_SESSION_SSL_USE_SYSTEM_CA_FILE :: T.Text+_SESSION_SSL_USE_SYSTEM_CA_FILE = "ssl-use-system-ca-file"+-- constant _SESSION_SYNC_H++_SESSION_SYNC_H :: Int32+_SESSION_SYNC_H = 1+-- constant _SESSION_TIMEOUT++_SESSION_TIMEOUT :: T.Text+_SESSION_TIMEOUT = "timeout"+-- constant _SESSION_TLS_DATABASE++_SESSION_TLS_DATABASE :: T.Text+_SESSION_TLS_DATABASE = "tls-database"+-- constant _SESSION_TLS_INTERACTION++_SESSION_TLS_INTERACTION :: T.Text+_SESSION_TLS_INTERACTION = "tls-interaction"+-- constant _SESSION_USER_AGENT++_SESSION_USER_AGENT :: T.Text+_SESSION_USER_AGENT = "user-agent"+-- constant _SESSION_USE_NTLM++_SESSION_USE_NTLM :: T.Text+_SESSION_USE_NTLM = "use-ntlm"+-- constant _SESSION_USE_THREAD_CONTEXT++_SESSION_USE_THREAD_CONTEXT :: T.Text+_SESSION_USE_THREAD_CONTEXT = "use-thread-context"+-- constant _SOCKET_ASYNC_CONTEXT++_SOCKET_ASYNC_CONTEXT :: T.Text+_SOCKET_ASYNC_CONTEXT = "async-context"+-- constant _SOCKET_FLAG_NONBLOCKING++_SOCKET_FLAG_NONBLOCKING :: T.Text+_SOCKET_FLAG_NONBLOCKING = "non-blocking"+-- constant _SOCKET_H++_SOCKET_H :: Int32+_SOCKET_H = 1+-- constant _SOCKET_IS_SERVER++_SOCKET_IS_SERVER :: T.Text+_SOCKET_IS_SERVER = "is-server"+-- constant _SOCKET_LOCAL_ADDRESS++_SOCKET_LOCAL_ADDRESS :: T.Text+_SOCKET_LOCAL_ADDRESS = "local-address"+-- constant _SOCKET_REMOTE_ADDRESS++_SOCKET_REMOTE_ADDRESS :: T.Text+_SOCKET_REMOTE_ADDRESS = "remote-address"+-- constant _SOCKET_SSL_CREDENTIALS++_SOCKET_SSL_CREDENTIALS :: T.Text+_SOCKET_SSL_CREDENTIALS = "ssl-creds"+-- constant _SOCKET_SSL_FALLBACK++_SOCKET_SSL_FALLBACK :: T.Text+_SOCKET_SSL_FALLBACK = "ssl-fallback"+-- constant _SOCKET_SSL_STRICT++_SOCKET_SSL_STRICT :: T.Text+_SOCKET_SSL_STRICT = "ssl-strict"+-- constant _SOCKET_TIMEOUT++_SOCKET_TIMEOUT :: T.Text+_SOCKET_TIMEOUT = "timeout"+-- constant _SOCKET_TLS_CERTIFICATE++_SOCKET_TLS_CERTIFICATE :: T.Text+_SOCKET_TLS_CERTIFICATE = "tls-certificate"+-- constant _SOCKET_TLS_ERRORS++_SOCKET_TLS_ERRORS :: T.Text+_SOCKET_TLS_ERRORS = "tls-errors"+-- constant _SOCKET_TRUSTED_CERTIFICATE++_SOCKET_TRUSTED_CERTIFICATE :: T.Text+_SOCKET_TRUSTED_CERTIFICATE = "trusted-certificate"+-- constant _SOCKET_USE_THREAD_CONTEXT++_SOCKET_USE_THREAD_CONTEXT :: T.Text+_SOCKET_USE_THREAD_CONTEXT = "use-thread-context"+-- constant _STATUS_H++_STATUS_H :: Int32+_STATUS_H = 1+-- constant _TYPES_H++_TYPES_H :: Int32+_TYPES_H = 1+-- constant _URI_H++_URI_H :: Int32+_URI_H = 1+-- constant _VALUE_UTILS_H++_VALUE_UTILS_H :: Int32+_VALUE_UTILS_H = 1+-- constant _XMLRPC_H++_XMLRPC_H :: Int32+_XMLRPC_H = 1+-- function soup_cookie_parse+-- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Cookie"+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookie_parse" soup_cookie_parse :: +    CString ->                              -- header : TBasicType TUTF8+    Ptr URI ->                              -- origin : TInterface "Soup" "URI"+    IO (Ptr Cookie)+++cookieParse ::+    (MonadIO m) =>+    T.Text ->                               -- header+    URI ->                                  -- origin+    m Cookie+cookieParse header origin = liftIO $ do+    header' <- textToCString header+    let origin' = unsafeManagedPtrGetPtr origin+    result <- soup_cookie_parse header' origin'+    result' <- (wrapBoxed Cookie) result+    touchManagedPtr origin+    freeMem header'+    return result'++-- function soup_cookies_from_request+-- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Soup" "Cookie")+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookies_from_request" soup_cookies_from_request :: +    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO (Ptr (GSList (Ptr Cookie)))+++cookiesFromRequest ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- msg+    m [Cookie]+cookiesFromRequest msg = liftIO $ do+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_cookies_from_request msg'+    result' <- unpackGSList result+    result'' <- mapM (wrapBoxed Cookie) result'+    g_slist_free result+    touchManagedPtr msg+    return result''++-- function soup_cookies_from_response+-- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Soup" "Cookie")+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookies_from_response" soup_cookies_from_response :: +    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO (Ptr (GSList (Ptr Cookie)))+++cookiesFromResponse ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- msg+    m [Cookie]+cookiesFromResponse msg = liftIO $ do+    let msg' = unsafeManagedPtrCastPtr msg+    result <- soup_cookies_from_response msg'+    result' <- unpackGSList result+    result'' <- mapM (wrapBoxed Cookie) result'+    g_slist_free result+    touchManagedPtr msg+    return result''++-- function soup_cookies_to_cookie_header+-- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookies_to_cookie_header" soup_cookies_to_cookie_header :: +    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")+    IO CString+++cookiesToCookieHeader ::+    (MonadIO m) =>+    [Cookie] ->                             -- cookies+    m T.Text+cookiesToCookieHeader cookies = liftIO $ do+    let cookies' = map unsafeManagedPtrGetPtr cookies+    cookies'' <- packGSList cookies'+    result <- soup_cookies_to_cookie_header cookies''+    result' <- cstringToText result+    freeMem result+    mapM_ touchManagedPtr cookies+    g_slist_free cookies''+    return result'++-- function soup_cookies_to_request+-- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookies_to_request" soup_cookies_to_request :: +    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO ()+++cookiesToRequest ::+    (MonadIO m, MessageK a) =>+    [Cookie] ->                             -- cookies+    a ->                                    -- msg+    m ()+cookiesToRequest cookies msg = liftIO $ do+    let cookies' = map unsafeManagedPtrGetPtr cookies+    cookies'' <- packGSList cookies'+    let msg' = unsafeManagedPtrCastPtr msg+    soup_cookies_to_request cookies'' msg'+    mapM_ touchManagedPtr cookies+    touchManagedPtr msg+    g_slist_free cookies''+    return ()++-- function soup_cookies_to_response+-- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_cookies_to_response" soup_cookies_to_response :: +    Ptr (GSList (Ptr Cookie)) ->            -- cookies : TGSList (TInterface "Soup" "Cookie")+    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    IO ()+++cookiesToResponse ::+    (MonadIO m, MessageK a) =>+    [Cookie] ->                             -- cookies+    a ->                                    -- msg+    m ()+cookiesToResponse cookies msg = liftIO $ do+    let cookies' = map unsafeManagedPtrGetPtr cookies+    cookies'' <- packGSList cookies'+    let msg' = unsafeManagedPtrCastPtr msg+    soup_cookies_to_response cookies'' msg'+    mapM_ touchManagedPtr cookies+    touchManagedPtr msg+    g_slist_free cookies''+    return ()++-- function soup_form_decode+-- Args : [Arg {argName = "encoded_form", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "encoded_form", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "soup_form_decode" soup_form_decode :: +    CString ->                              -- encoded_form : TBasicType TUTF8+    IO (Ptr (GHashTable CString CString))+++formDecode ::+    (MonadIO m) =>+    T.Text ->                               -- encoded_form+    m (Map.Map T.Text T.Text)+formDecode encoded_form = liftIO $ do+    encoded_form' <- textToCString encoded_form+    result <- soup_form_decode encoded_form'+    result' <- unpackGHashTable result+    let result'' = mapFirst cstringUnpackPtr result'+    result''' <- mapFirstA cstringToText result''+    let result'''' = mapSecond cstringUnpackPtr result'''+    result''''' <- mapSecondA cstringToText result''''+    let result'''''' = Map.fromList result'''''+    unrefGHashTable result+    freeMem encoded_form'+    return result''''''++-- function soup_form_decode_multipart+-- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "file_control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "file", argType = TInterface "Soup" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "file_control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "soup_form_decode_multipart" soup_form_decode_multipart :: +    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- file_control_name : TBasicType TUTF8+    Ptr CString ->                          -- filename : TBasicType TUTF8+    Ptr CString ->                          -- content_type : TBasicType TUTF8+    Ptr Buffer ->                           -- file : TInterface "Soup" "Buffer"+    IO (Ptr (GHashTable CString CString))+++formDecodeMultipart ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- msg+    Maybe (T.Text) ->                       -- file_control_name+    m ((Map.Map T.Text T.Text),T.Text,T.Text,Buffer)+formDecodeMultipart msg file_control_name = liftIO $ do+    let msg' = unsafeManagedPtrCastPtr msg+    maybeFile_control_name <- case file_control_name of+        Nothing -> return nullPtr+        Just jFile_control_name -> do+            jFile_control_name' <- textToCString jFile_control_name+            return jFile_control_name'+    filename <- allocMem :: IO (Ptr CString)+    content_type <- allocMem :: IO (Ptr CString)+    file <- callocBoxedBytes 16 :: IO (Ptr Buffer)+    result <- soup_form_decode_multipart msg' maybeFile_control_name filename content_type file+    result' <- unpackGHashTable result+    let result'' = mapFirst cstringUnpackPtr result'+    result''' <- mapFirstA cstringToText result''+    let result'''' = mapSecond cstringUnpackPtr result'''+    result''''' <- mapSecondA cstringToText result''''+    let result'''''' = Map.fromList result'''''+    unrefGHashTable result+    filename' <- peek filename+    filename'' <- cstringToText filename'+    freeMem filename'+    content_type' <- peek content_type+    content_type'' <- cstringToText content_type'+    freeMem content_type'+    file' <- (wrapBoxed Buffer) file+    touchManagedPtr msg+    freeMem maybeFile_control_name+    freeMem filename+    freeMem content_type+    return (result'''''', filename'', content_type'', file')++-- function soup_form_encode_datalist+-- Args : [Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_form_encode_datalist" soup_form_encode_datalist :: +    Ptr GLib.Data ->                        -- form_data_set : TInterface "GLib" "Data"+    IO CString+++formEncodeDatalist ::+    (MonadIO m) =>+    GLib.Data ->                            -- form_data_set+    m T.Text+formEncodeDatalist form_data_set = liftIO $ do+    let form_data_set' = unsafeManagedPtrGetPtr form_data_set+    result <- soup_form_encode_datalist form_data_set'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr form_data_set+    return result'++-- function soup_form_encode_hash+-- Args : [Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_form_encode_hash" soup_form_encode_hash :: +    Ptr (GHashTable CString CString) ->     -- form_data_set : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO CString+++formEncodeHash ::+    (MonadIO m) =>+    Map.Map T.Text T.Text ->                -- form_data_set+    m T.Text+formEncodeHash form_data_set = liftIO $ do+    let form_data_set' = Map.toList form_data_set+    form_data_set'' <- mapFirstA textToCString form_data_set'+    form_data_set''' <- mapSecondA textToCString form_data_set''+    let form_data_set'''' = mapFirst cstringPackPtr form_data_set'''+    let form_data_set''''' = mapSecond cstringPackPtr form_data_set''''+    form_data_set'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) form_data_set'''''+    result <- soup_form_encode_hash form_data_set''''''+    result' <- cstringToText result+    freeMem result+    unrefGHashTable form_data_set''''''+    return result'++-- function soup_form_request_new_from_datalist+-- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Message"+-- throws : False+-- Skip return : False++foreign import ccall "soup_form_request_new_from_datalist" soup_form_request_new_from_datalist :: +    CString ->                              -- method : TBasicType TUTF8+    CString ->                              -- uri : TBasicType TUTF8+    Ptr GLib.Data ->                        -- form_data_set : TInterface "GLib" "Data"+    IO (Ptr Message)+++formRequestNewFromDatalist ::+    (MonadIO m) =>+    T.Text ->                               -- method+    T.Text ->                               -- uri+    GLib.Data ->                            -- form_data_set+    m Message+formRequestNewFromDatalist method uri form_data_set = liftIO $ do+    method' <- textToCString method+    uri' <- textToCString uri+    let form_data_set' = unsafeManagedPtrGetPtr form_data_set+    result <- soup_form_request_new_from_datalist method' uri' form_data_set'+    result' <- (wrapObject Message) result+    touchManagedPtr form_data_set+    freeMem method'+    freeMem uri'+    return result'++-- function soup_form_request_new_from_hash+-- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Message"+-- throws : False+-- Skip return : False++foreign import ccall "soup_form_request_new_from_hash" soup_form_request_new_from_hash :: +    CString ->                              -- method : TBasicType TUTF8+    CString ->                              -- uri : TBasicType TUTF8+    Ptr (GHashTable CString CString) ->     -- form_data_set : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO (Ptr Message)+++formRequestNewFromHash ::+    (MonadIO m) =>+    T.Text ->                               -- method+    T.Text ->                               -- uri+    Map.Map T.Text T.Text ->                -- form_data_set+    m Message+formRequestNewFromHash method uri form_data_set = liftIO $ do+    method' <- textToCString method+    uri' <- textToCString uri+    let form_data_set' = Map.toList form_data_set+    form_data_set'' <- mapFirstA textToCString form_data_set'+    form_data_set''' <- mapSecondA textToCString form_data_set''+    let form_data_set'''' = mapFirst cstringPackPtr form_data_set'''+    let form_data_set''''' = mapSecond cstringPackPtr form_data_set''''+    form_data_set'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) form_data_set'''''+    result <- soup_form_request_new_from_hash method' uri' form_data_set''''''+    result' <- (wrapObject Message) result+    freeMem method'+    freeMem uri'+    unrefGHashTable form_data_set''''''+    return result'++-- function soup_form_request_new_from_multipart+-- Args : [Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "multipart", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "multipart", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Soup" "Message"+-- throws : False+-- Skip return : False++foreign import ccall "soup_form_request_new_from_multipart" soup_form_request_new_from_multipart :: +    CString ->                              -- uri : TBasicType TUTF8+    Ptr Multipart ->                        -- multipart : TInterface "Soup" "Multipart"+    IO (Ptr Message)+++formRequestNewFromMultipart ::+    (MonadIO m) =>+    T.Text ->                               -- uri+    Multipart ->                            -- multipart+    m Message+formRequestNewFromMultipart uri multipart = liftIO $ do+    uri' <- textToCString uri+    let multipart' = unsafeManagedPtrGetPtr multipart+    result <- soup_form_request_new_from_multipart uri' multipart'+    result' <- (wrapObject Message) result+    touchManagedPtr multipart+    freeMem uri'+    return result'++-- function soup_header_contains+-- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_header_contains" soup_header_contains :: +    CString ->                              -- header : TBasicType TUTF8+    CString ->                              -- token : TBasicType TUTF8+    IO CInt+++headerContains ::+    (MonadIO m) =>+    T.Text ->                               -- header+    T.Text ->                               -- token+    m Bool+headerContains header token = liftIO $ do+    header' <- textToCString header+    token' <- textToCString token+    result <- soup_header_contains header' token'+    let result' = (/= 0) result+    freeMem header'+    freeMem token'+    return result'++-- function soup_header_free_param_list+-- Args : [Arg {argName = "param_list", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "param_list", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_header_free_param_list" soup_header_free_param_list :: +    Ptr (GHashTable CString CString) ->     -- param_list : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+    IO ()+++headerFreeParamList ::+    (MonadIO m) =>+    Map.Map T.Text T.Text ->                -- param_list+    m ()+headerFreeParamList param_list = liftIO $ do+    let param_list' = Map.toList param_list+    param_list'' <- mapFirstA textToCString param_list'+    param_list''' <- mapSecondA textToCString param_list''+    let param_list'''' = mapFirst cstringPackPtr param_list'''+    let param_list''''' = mapSecond cstringPackPtr param_list''''+    param_list'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) param_list'''''+    soup_header_free_param_list param_list''''''+    unrefGHashTable param_list''''''+    return ()++-- function soup_header_g_string_append_param+-- Args : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_header_g_string_append_param" soup_header_g_string_append_param :: +    Ptr GLib.String ->                      -- string : TInterface "GLib" "String"+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    IO ()+++headerGStringAppendParam ::+    (MonadIO m) =>+    GLib.String ->                          -- string+    T.Text ->                               -- name+    T.Text ->                               -- value+    m ()+headerGStringAppendParam string name value = liftIO $ do+    let string' = unsafeManagedPtrGetPtr string+    name' <- textToCString name+    value' <- textToCString value+    soup_header_g_string_append_param string' name' value'+    touchManagedPtr string+    freeMem name'+    freeMem value'+    return ()++-- function soup_header_g_string_append_param_quoted+-- Args : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_header_g_string_append_param_quoted" soup_header_g_string_append_param_quoted :: +    Ptr GLib.String ->                      -- string : TInterface "GLib" "String"+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    IO ()+++headerGStringAppendParamQuoted ::+    (MonadIO m) =>+    GLib.String ->                          -- string+    T.Text ->                               -- name+    T.Text ->                               -- value+    m ()+headerGStringAppendParamQuoted string name value = liftIO $ do+    let string' = unsafeManagedPtrGetPtr string+    name' <- textToCString name+    value' <- textToCString value+    soup_header_g_string_append_param_quoted string' name' value'+    touchManagedPtr string+    freeMem name'+    freeMem value'+    return ()++-- function soup_header_parse_list+-- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "soup_header_parse_list" soup_header_parse_list :: +    CString ->                              -- header : TBasicType TUTF8+    IO (Ptr (GSList CString))+++headerParseList ::+    (MonadIO m) =>+    T.Text ->                               -- header+    m [T.Text]+headerParseList header = liftIO $ do+    header' <- textToCString header+    result <- soup_header_parse_list header'+    result' <- unpackGSList result+    result'' <- mapM cstringToText result'+    mapGSList freeMem result+    g_slist_free result+    freeMem header'+    return result''++-- function soup_header_parse_param_list+-- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "soup_header_parse_param_list" soup_header_parse_param_list :: +    CString ->                              -- header : TBasicType TUTF8+    IO (Ptr (GHashTable CString CString))+++headerParseParamList ::+    (MonadIO m) =>+    T.Text ->                               -- header+    m (Map.Map T.Text T.Text)+headerParseParamList header = liftIO $ do+    header' <- textToCString header+    result <- soup_header_parse_param_list header'+    result' <- unpackGHashTable result+    let result'' = mapFirst cstringUnpackPtr result'+    result''' <- mapFirstA cstringToText result''+    let result'''' = mapSecond cstringUnpackPtr result'''+    result''''' <- mapSecondA cstringToText result''''+    let result'''''' = Map.fromList result'''''+    unrefGHashTable result+    freeMem header'+    return result''''''++-- function soup_header_parse_quality_list+-- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unacceptable", argType = TGSList (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "soup_header_parse_quality_list" soup_header_parse_quality_list :: +    CString ->                              -- header : TBasicType TUTF8+    Ptr (Ptr (GSList CString)) ->           -- unacceptable : TGSList (TBasicType TUTF8)+    IO (Ptr (GSList CString))+++headerParseQualityList ::+    (MonadIO m) =>+    T.Text ->                               -- header+    m ([T.Text],[T.Text])+headerParseQualityList header = liftIO $ do+    header' <- textToCString header+    unacceptable <- allocMem :: IO (Ptr (Ptr (GSList CString)))+    result <- soup_header_parse_quality_list header' unacceptable+    result' <- unpackGSList result+    result'' <- mapM cstringToText result'+    mapGSList freeMem result+    g_slist_free result+    unacceptable' <- peek unacceptable+    unacceptable'' <- unpackGSList unacceptable'+    unacceptable''' <- mapM cstringToText unacceptable''+    mapGSList freeMem unacceptable'+    g_slist_free unacceptable'+    freeMem header'+    freeMem unacceptable+    return (result'', unacceptable''')++-- function soup_header_parse_semi_param_list+-- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "soup_header_parse_semi_param_list" soup_header_parse_semi_param_list :: +    CString ->                              -- header : TBasicType TUTF8+    IO (Ptr (GHashTable CString CString))+++headerParseSemiParamList ::+    (MonadIO m) =>+    T.Text ->                               -- header+    m (Map.Map T.Text T.Text)+headerParseSemiParamList header = liftIO $ do+    header' <- textToCString header+    result <- soup_header_parse_semi_param_list header'+    result' <- unpackGHashTable result+    let result'' = mapFirst cstringUnpackPtr result'+    result''' <- mapFirstA cstringToText result''+    let result'''' = mapSecond cstringUnpackPtr result'''+    result''''' <- mapSecondA cstringToText result''''+    let result'''''' = Map.fromList result'''''+    unrefGHashTable result+    freeMem header'+    return result''''''++-- function soup_headers_parse+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_headers_parse" soup_headers_parse :: +    CString ->                              -- str : TBasicType TUTF8+    Int32 ->                                -- len : TBasicType TInt32+    Ptr MessageHeaders ->                   -- dest : TInterface "Soup" "MessageHeaders"+    IO CInt+++headersParse ::+    (MonadIO m) =>+    T.Text ->                               -- str+    Int32 ->                                -- len+    MessageHeaders ->                       -- dest+    m Bool+headersParse str len dest = liftIO $ do+    str' <- textToCString str+    let dest' = unsafeManagedPtrGetPtr dest+    result <- soup_headers_parse str' len dest'+    let result' = (/= 0) result+    touchManagedPtr dest+    freeMem str'+    return result'++-- function soup_headers_parse_request+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_method", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "req_path", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_headers_parse_request" soup_headers_parse_request :: +    CString ->                              -- str : TBasicType TUTF8+    Int32 ->                                -- len : TBasicType TInt32+    Ptr MessageHeaders ->                   -- req_headers : TInterface "Soup" "MessageHeaders"+    Ptr CString ->                          -- req_method : TBasicType TUTF8+    Ptr CString ->                          -- req_path : TBasicType TUTF8+    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"+    IO Word32+++headersParseRequest ::+    (MonadIO m) =>+    T.Text ->                               -- str+    Int32 ->                                -- len+    MessageHeaders ->                       -- req_headers+    m (Word32,T.Text,T.Text,HTTPVersion)+headersParseRequest str len req_headers = liftIO $ do+    str' <- textToCString str+    let req_headers' = unsafeManagedPtrGetPtr req_headers+    req_method <- allocMem :: IO (Ptr CString)+    req_path <- allocMem :: IO (Ptr CString)+    ver <- allocMem :: IO (Ptr CUInt)+    result <- soup_headers_parse_request str' len req_headers' req_method req_path ver+    req_method' <- peek req_method+    req_method'' <- cstringToText req_method'+    freeMem req_method'+    req_path' <- peek req_path+    req_path'' <- cstringToText req_path'+    freeMem req_path'+    ver' <- peek ver+    let ver'' = (toEnum . fromIntegral) ver'+    touchManagedPtr req_headers+    freeMem str'+    freeMem req_method+    freeMem req_path+    freeMem ver+    return (result, req_method'', req_path'', ver'')++-- function soup_headers_parse_response+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_headers_parse_response" soup_headers_parse_response :: +    CString ->                              -- str : TBasicType TUTF8+    Int32 ->                                -- len : TBasicType TInt32+    Ptr MessageHeaders ->                   -- headers : TInterface "Soup" "MessageHeaders"+    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"+    Ptr Word32 ->                           -- status_code : TBasicType TUInt32+    Ptr CString ->                          -- reason_phrase : TBasicType TUTF8+    IO CInt+++headersParseResponse ::+    (MonadIO m) =>+    T.Text ->                               -- str+    Int32 ->                                -- len+    MessageHeaders ->                       -- headers+    m (Bool,HTTPVersion,Word32,T.Text)+headersParseResponse str len headers = liftIO $ do+    str' <- textToCString str+    let headers' = unsafeManagedPtrGetPtr headers+    ver <- allocMem :: IO (Ptr CUInt)+    status_code <- allocMem :: IO (Ptr Word32)+    reason_phrase <- allocMem :: IO (Ptr CString)+    result <- soup_headers_parse_response str' len headers' ver status_code reason_phrase+    let result' = (/= 0) result+    ver' <- peek ver+    let ver'' = (toEnum . fromIntegral) ver'+    status_code' <- peek status_code+    reason_phrase' <- peek reason_phrase+    reason_phrase'' <- cstringToText reason_phrase'+    freeMem reason_phrase'+    touchManagedPtr headers+    freeMem str'+    freeMem ver+    freeMem status_code+    freeMem reason_phrase+    return (result', ver'', status_code', reason_phrase'')++-- function soup_headers_parse_status_line+-- Args : [Arg {argName = "status_line", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "status_line", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_headers_parse_status_line" soup_headers_parse_status_line :: +    CString ->                              -- status_line : TBasicType TUTF8+    Ptr CUInt ->                            -- ver : TInterface "Soup" "HTTPVersion"+    Ptr Word32 ->                           -- status_code : TBasicType TUInt32+    Ptr CString ->                          -- reason_phrase : TBasicType TUTF8+    IO CInt+++headersParseStatusLine ::+    (MonadIO m) =>+    T.Text ->                               -- status_line+    m (Bool,HTTPVersion,Word32,T.Text)+headersParseStatusLine status_line = liftIO $ do+    status_line' <- textToCString status_line+    ver <- allocMem :: IO (Ptr CUInt)+    status_code <- allocMem :: IO (Ptr Word32)+    reason_phrase <- allocMem :: IO (Ptr CString)+    result <- soup_headers_parse_status_line status_line' ver status_code reason_phrase+    let result' = (/= 0) result+    ver' <- peek ver+    let ver'' = (toEnum . fromIntegral) ver'+    status_code' <- peek status_code+    reason_phrase' <- peek reason_phrase+    reason_phrase'' <- cstringToText reason_phrase'+    freeMem reason_phrase'+    freeMem status_line'+    freeMem ver+    freeMem status_code+    freeMem reason_phrase+    return (result', ver'', status_code', reason_phrase'')++-- function soup_http_error_quark+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_http_error_quark" soup_http_error_quark :: +    IO Word32+++httpErrorQuark ::+    (MonadIO m) =>+    m Word32+httpErrorQuark  = liftIO $ do+    result <- soup_http_error_quark+    return result++-- function soup_message_headers_iter_init+-- Args : [Arg {argName = "iter", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hdrs", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "hdrs", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_message_headers_iter_init" soup_message_headers_iter_init :: +    Ptr MessageHeadersIter ->               -- iter : TInterface "Soup" "MessageHeadersIter"+    Ptr MessageHeaders ->                   -- hdrs : TInterface "Soup" "MessageHeaders"+    IO ()+++messageHeadersIterInit ::+    (MonadIO m) =>+    MessageHeaders ->                       -- hdrs+    m (MessageHeadersIter)+messageHeadersIterInit hdrs = liftIO $ do+    iter <- callocBytes 24 :: IO (Ptr MessageHeadersIter)+    let hdrs' = unsafeManagedPtrGetPtr hdrs+    soup_message_headers_iter_init iter hdrs'+    iter' <- (wrapPtr MessageHeadersIter) iter+    touchManagedPtr hdrs+    return iter'++-- function soup_request_error_quark+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_request_error_quark" soup_request_error_quark :: +    IO Word32+++requestErrorQuark ::+    (MonadIO m) =>+    m Word32+requestErrorQuark  = liftIO $ do+    result <- soup_request_error_quark+    return result++-- function soup_requester_error_quark+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_requester_error_quark" soup_requester_error_quark :: +    IO Word32+++requesterErrorQuark ::+    (MonadIO m) =>+    m Word32+requesterErrorQuark  = liftIO $ do+    result <- soup_requester_error_quark+    return result++-- function soup_status_get_phrase+-- Args : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_status_get_phrase" soup_status_get_phrase :: +    Word32 ->                               -- status_code : TBasicType TUInt32+    IO CString+++statusGetPhrase ::+    (MonadIO m) =>+    Word32 ->                               -- status_code+    m T.Text+statusGetPhrase status_code = liftIO $ do+    result <- soup_status_get_phrase status_code+    result' <- cstringToText result+    return result'++-- function soup_status_proxify+-- Args : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_status_proxify" soup_status_proxify :: +    Word32 ->                               -- status_code : TBasicType TUInt32+    IO Word32+++statusProxify ::+    (MonadIO m) =>+    Word32 ->                               -- status_code+    m Word32+statusProxify status_code = liftIO $ do+    result <- soup_status_proxify status_code+    return result++-- function soup_str_case_equal+-- Args : [Arg {argName = "v1", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "v1", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_str_case_equal" soup_str_case_equal :: +    Ptr () ->                               -- v1 : TBasicType TVoid+    Ptr () ->                               -- v2 : TBasicType TVoid+    IO CInt+++strCaseEqual ::+    (MonadIO m) =>+    Ptr () ->                               -- v1+    Ptr () ->                               -- v2+    m Bool+strCaseEqual v1 v2 = liftIO $ do+    result <- soup_str_case_equal v1 v2+    let result' = (/= 0) result+    return result'++-- function soup_str_case_hash+-- Args : [Arg {argName = "key", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "key", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_str_case_hash" soup_str_case_hash :: +    Ptr () ->                               -- key : TBasicType TVoid+    IO Word32+++strCaseHash ::+    (MonadIO m) =>+    Ptr () ->                               -- key+    m Word32+strCaseHash key = liftIO $ do+    result <- soup_str_case_hash key+    return result++-- function soup_tld_domain_is_public_suffix+-- Args : [Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_tld_domain_is_public_suffix" soup_tld_domain_is_public_suffix :: +    CString ->                              -- domain : TBasicType TUTF8+    IO CInt+++tldDomainIsPublicSuffix ::+    (MonadIO m) =>+    T.Text ->                               -- domain+    m Bool+tldDomainIsPublicSuffix domain = liftIO $ do+    domain' <- textToCString domain+    result <- soup_tld_domain_is_public_suffix domain'+    let result' = (/= 0) result+    freeMem domain'+    return result'++-- function soup_tld_error_quark+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_tld_error_quark" soup_tld_error_quark :: +    IO Word32+++tldErrorQuark ::+    (MonadIO m) =>+    m Word32+tldErrorQuark  = liftIO $ do+    result <- soup_tld_error_quark+    return result++-- function soup_tld_get_base_domain+-- Args : [Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : True+-- Skip return : False++foreign import ccall "soup_tld_get_base_domain" soup_tld_get_base_domain :: +    CString ->                              -- hostname : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CString+++tldGetBaseDomain ::+    (MonadIO m) =>+    T.Text ->                               -- hostname+    m T.Text+tldGetBaseDomain hostname = liftIO $ do+    hostname' <- textToCString hostname+    onException (do+        result <- propagateGError $ soup_tld_get_base_domain hostname'+        result' <- cstringToText result+        freeMem hostname'+        return result'+     ) (do+        freeMem hostname'+     )++-- function soup_uri_decode+-- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_decode" soup_uri_decode :: +    CString ->                              -- part : TBasicType TUTF8+    IO CString+++uriDecode ::+    (MonadIO m) =>+    T.Text ->                               -- part+    m T.Text+uriDecode part = liftIO $ do+    part' <- textToCString part+    result <- soup_uri_decode part'+    result' <- cstringToText result+    freeMem result+    freeMem part'+    return result'++-- function soup_uri_encode+-- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "escape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "escape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_encode" soup_uri_encode :: +    CString ->                              -- part : TBasicType TUTF8+    CString ->                              -- escape_extra : TBasicType TUTF8+    IO CString+++uriEncode ::+    (MonadIO m) =>+    T.Text ->                               -- part+    Maybe (T.Text) ->                       -- escape_extra+    m T.Text+uriEncode part escape_extra = liftIO $ do+    part' <- textToCString part+    maybeEscape_extra <- case escape_extra of+        Nothing -> return nullPtr+        Just jEscape_extra -> do+            jEscape_extra' <- textToCString jEscape_extra+            return jEscape_extra'+    result <- soup_uri_encode part' maybeEscape_extra+    result' <- cstringToText result+    freeMem result+    freeMem part'+    freeMem maybeEscape_extra+    return result'++-- function soup_uri_normalize+-- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unescape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unescape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_uri_normalize" soup_uri_normalize :: +    CString ->                              -- part : TBasicType TUTF8+    CString ->                              -- unescape_extra : TBasicType TUTF8+    IO CString+++uriNormalize ::+    (MonadIO m) =>+    T.Text ->                               -- part+    T.Text ->                               -- unescape_extra+    m T.Text+uriNormalize part unescape_extra = liftIO $ do+    part' <- textToCString part+    unescape_extra' <- textToCString unescape_extra+    result <- soup_uri_normalize part' unescape_extra'+    result' <- cstringToText result+    freeMem result+    freeMem part'+    freeMem unescape_extra'+    return result'++-- function soup_value_array_new+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "GObject" "ValueArray"+-- throws : False+-- Skip return : False++foreign import ccall "soup_value_array_new" soup_value_array_new :: +    IO (Ptr GObject.ValueArray)+++valueArrayNew ::+    (MonadIO m) =>+    m GObject.ValueArray+valueArrayNew  = liftIO $ do+    result <- soup_value_array_new+    result' <- (wrapBoxed GObject.ValueArray) result+    return result'++-- function soup_value_hash_insert_value+-- XXX Could not generate function soup_value_hash_insert_value+-- Error was : Not implemented: "GHashTable element of type TInterface \"GObject\" \"Value\" unsupported."+-- function soup_value_hash_new+-- XXX Could not generate function soup_value_hash_new+-- Error was : Not implemented: "GHashTable element of type TInterface \"GObject\" \"Value\" unsupported."+-- function soup_websocket_client_prepare_handshake+-- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_client_prepare_handshake" soup_websocket_client_prepare_handshake :: +    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- origin : TBasicType TUTF8+    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)+    IO ()+++websocketClientPrepareHandshake ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- msg+    Maybe (T.Text) ->                       -- origin+    Maybe ([T.Text]) ->                     -- protocols+    m ()+websocketClientPrepareHandshake msg origin protocols = liftIO $ do+    let msg' = unsafeManagedPtrCastPtr msg+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- textToCString jOrigin+            return jOrigin'+    maybeProtocols <- case protocols of+        Nothing -> return nullPtr+        Just jProtocols -> do+            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols+            return jProtocols'+    soup_websocket_client_prepare_handshake msg' maybeOrigin maybeProtocols+    touchManagedPtr msg+    freeMem maybeOrigin+    mapZeroTerminatedCArray freeMem maybeProtocols+    freeMem maybeProtocols+    return ()++-- function soup_websocket_client_verify_handshake+-- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_websocket_client_verify_handshake" soup_websocket_client_verify_handshake :: +    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++websocketClientVerifyHandshake ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- msg+    m ()+websocketClientVerifyHandshake msg = liftIO $ do+    let msg' = unsafeManagedPtrCastPtr msg+    onException (do+        _ <- propagateGError $ soup_websocket_client_verify_handshake msg'+        touchManagedPtr msg+        return ()+     ) (do+        return ()+     )++-- function soup_websocket_error_get_quark+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_error_get_quark" soup_websocket_error_get_quark :: +    IO Word32+++websocketErrorGetQuark ::+    (MonadIO m) =>+    m Word32+websocketErrorGetQuark  = liftIO $ do+    result <- soup_websocket_error_get_quark+    return result++-- function soup_websocket_server_check_handshake+-- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_websocket_server_check_handshake" soup_websocket_server_check_handshake :: +    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- origin : TBasicType TUTF8+    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++websocketServerCheckHandshake ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- msg+    Maybe (T.Text) ->                       -- origin+    Maybe ([T.Text]) ->                     -- protocols+    m ()+websocketServerCheckHandshake msg origin protocols = liftIO $ do+    let msg' = unsafeManagedPtrCastPtr msg+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- textToCString jOrigin+            return jOrigin'+    maybeProtocols <- case protocols of+        Nothing -> return nullPtr+        Just jProtocols -> do+            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols+            return jProtocols'+    onException (do+        _ <- propagateGError $ soup_websocket_server_check_handshake msg' maybeOrigin maybeProtocols+        touchManagedPtr msg+        freeMem maybeOrigin+        mapZeroTerminatedCArray freeMem maybeProtocols+        freeMem maybeProtocols+        return ()+     ) (do+        freeMem maybeOrigin+        mapZeroTerminatedCArray freeMem maybeProtocols+        freeMem maybeProtocols+     )++-- function soup_websocket_server_process_handshake+-- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_websocket_server_process_handshake" soup_websocket_server_process_handshake :: +    Ptr Message ->                          -- msg : TInterface "Soup" "Message"+    CString ->                              -- origin : TBasicType TUTF8+    Ptr CString ->                          -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8)+    IO CInt+++websocketServerProcessHandshake ::+    (MonadIO m, MessageK a) =>+    a ->                                    -- msg+    Maybe (T.Text) ->                       -- origin+    Maybe ([T.Text]) ->                     -- protocols+    m Bool+websocketServerProcessHandshake msg origin protocols = liftIO $ do+    let msg' = unsafeManagedPtrCastPtr msg+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- textToCString jOrigin+            return jOrigin'+    maybeProtocols <- case protocols of+        Nothing -> return nullPtr+        Just jProtocols -> do+            jProtocols' <- packZeroTerminatedUTF8CArray jProtocols+            return jProtocols'+    result <- soup_websocket_server_process_handshake msg' maybeOrigin maybeProtocols+    let result' = (/= 0) result+    touchManagedPtr msg+    freeMem maybeOrigin+    mapZeroTerminatedCArray freeMem maybeProtocols+    freeMem maybeProtocols+    return result'++-- function soup_xmlrpc_build_method_call+-- Args : [Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TCArray False (-1) 2 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_params", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "n_params", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TCArray False (-1) 2 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_xmlrpc_build_method_call" soup_xmlrpc_build_method_call :: +    CString ->                              -- method_name : TBasicType TUTF8+    Ptr GValue ->                           -- params : TCArray False (-1) 2 (TInterface "GObject" "Value")+    Int32 ->                                -- n_params : TBasicType TInt32+    IO CString+++xmlrpcBuildMethodCall ::+    (MonadIO m) =>+    T.Text ->                               -- method_name+    [GValue] ->                             -- params+    m T.Text+xmlrpcBuildMethodCall method_name params = liftIO $ do+    let n_params = fromIntegral $ length params+    method_name' <- textToCString method_name+    let params' = map unsafeManagedPtrGetPtr params+    params'' <- packBlockArray 24 params'+    result <- soup_xmlrpc_build_method_call method_name' params'' n_params+    result' <- cstringToText result+    freeMem result+    mapM_ touchManagedPtr params+    freeMem method_name'+    freeMem params''+    return result'++-- function soup_xmlrpc_build_method_response+-- Args : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "soup_xmlrpc_build_method_response" soup_xmlrpc_build_method_response :: +    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    IO CString+++xmlrpcBuildMethodResponse ::+    (MonadIO m) =>+    GValue ->                               -- value+    m T.Text+xmlrpcBuildMethodResponse value = liftIO $ do+    let value' = unsafeManagedPtrGetPtr value+    result <- soup_xmlrpc_build_method_response value'+    result' <- cstringToText result+    freeMem result+    touchManagedPtr value+    return result'++-- function soup_xmlrpc_error_quark+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_xmlrpc_error_quark" soup_xmlrpc_error_quark :: +    IO Word32+++xmlrpcErrorQuark ::+    (MonadIO m) =>+    m Word32+xmlrpcErrorQuark  = liftIO $ do+    result <- soup_xmlrpc_error_quark+    return result++-- function soup_xmlrpc_fault_quark+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "soup_xmlrpc_fault_quark" soup_xmlrpc_fault_quark :: +    IO Word32+++xmlrpcFaultQuark ::+    (MonadIO m) =>+    m Word32+xmlrpcFaultQuark  = liftIO $ do+    result <- soup_xmlrpc_fault_quark+    return result++-- function soup_xmlrpc_parse_method_call+-- Args : [Arg {argName = "method_call", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "params", argType = TInterface "GObject" "ValueArray", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "method_call", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "soup_xmlrpc_parse_method_call" soup_xmlrpc_parse_method_call :: +    CString ->                              -- method_call : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Ptr CString ->                          -- method_name : TBasicType TUTF8+    Ptr GObject.ValueArray ->               -- params : TInterface "GObject" "ValueArray"+    IO CInt+++xmlrpcParseMethodCall ::+    (MonadIO m) =>+    T.Text ->                               -- method_call+    Int32 ->                                -- length+    m (Bool,T.Text,GObject.ValueArray)+xmlrpcParseMethodCall method_call length_ = liftIO $ do+    method_call' <- textToCString method_call+    method_name <- allocMem :: IO (Ptr CString)+    params <- callocBoxedBytes 24 :: IO (Ptr GObject.ValueArray)+    result <- soup_xmlrpc_parse_method_call method_call' length_ method_name params+    let result' = (/= 0) result+    method_name' <- peek method_name+    method_name'' <- cstringToText method_name'+    freeMem method_name'+    params' <- (wrapBoxed GObject.ValueArray) params+    freeMem method_call'+    freeMem method_name+    return (result', method_name'', params')++-- function soup_xmlrpc_parse_method_response+-- Args : [Arg {argName = "method_response", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "method_response", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "soup_xmlrpc_parse_method_response" soup_xmlrpc_parse_method_response :: +    CString ->                              -- method_response : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++xmlrpcParseMethodResponse ::+    (MonadIO m) =>+    T.Text ->                               -- method_response+    Int32 ->                                -- length+    m (GValue)+xmlrpcParseMethodResponse method_response length_ = liftIO $ do+    method_response' <- textToCString method_response+    value <- callocBoxedBytes 24 :: IO (Ptr GValue)+    onException (do+        _ <- propagateGError $ soup_xmlrpc_parse_method_response method_response' length_ value+        value' <- (wrapBoxed GValue) value+        freeMem method_response'+        return value'+     ) (do+        freeMem method_response'+        freeMem value+     )+
+ GI/SoupAttributes.hs view
@@ -0,0 +1,2374 @@+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-unused-imports #-}++-- Generated code.++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,+    TypeFamilies, MultiParamTypeClasses, KindSignatures,+    FlexibleInstances, UndecidableInstances, DataKinds,+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}++module GI.SoupAttributes where++import Prelude ()+import Data.GI.Base.ShortPrelude+import Data.Char+import Data.Int+import Data.Word+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)+import qualified Data.Map as Map+import Foreign.C+import Foreign.Ptr+import Foreign.ForeignPtr+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)+import Foreign.Storable (peek, poke, sizeOf)+import Control.Applicative ((<$>))+import Control.Exception (onException)+import Control.Monad.IO.Class+import qualified Data.Text as T++import Data.GI.Base.Attributes hiding (get, set)+import Data.GI.Base.BasicTypes+import Data.GI.Base.BasicConversions+import Data.GI.Base.Closure+import Data.GI.Base.GError+import Data.GI.Base.GHashTable+import Data.GI.Base.GParamSpec+import Data.GI.Base.GVariant+import Data.GI.Base.GValue+import Data.GI.Base.ManagedPtr+import Data.GI.Base.Overloading+import Data.GI.Base.Properties hiding (new)+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)+import Data.GI.Base.Utils++import qualified GI.GLib as GLib+import qualified GI.GLibAttributes as GLibA+import qualified GI.Gio as Gio+import qualified GI.GioAttributes as GioA+import GI.Soup++-- VVV Prop "family"+   -- Type: TInterface "Soup" "AddressFamily"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getAddressFamily :: (MonadIO m, AddressK o) => o -> m AddressFamily+getAddressFamily obj = liftIO $ getObjectPropertyEnum obj "family"++constructAddressFamily :: AddressFamily -> IO ([Char], GValue)+constructAddressFamily val = constructObjectPropertyEnum "family" val++data AddressFamilyPropertyInfo+instance AttrInfo AddressFamilyPropertyInfo where+    type AttrAllowedOps AddressFamilyPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AddressFamilyPropertyInfo = (~) AddressFamily+    type AttrBaseTypeConstraint AddressFamilyPropertyInfo = AddressK+    type AttrGetType AddressFamilyPropertyInfo = AddressFamily+    type AttrLabel AddressFamilyPropertyInfo = "Address::family"+    attrGet _ = getAddressFamily+    attrSet _ = undefined+    attrConstruct _ = constructAddressFamily++-- VVV Prop "name"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getAddressName :: (MonadIO m, AddressK o) => o -> m T.Text+getAddressName obj = liftIO $ getObjectPropertyString obj "name"++constructAddressName :: T.Text -> IO ([Char], GValue)+constructAddressName val = constructObjectPropertyString "name" val++data AddressNamePropertyInfo+instance AttrInfo AddressNamePropertyInfo where+    type AttrAllowedOps AddressNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AddressNamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint AddressNamePropertyInfo = AddressK+    type AttrGetType AddressNamePropertyInfo = T.Text+    type AttrLabel AddressNamePropertyInfo = "Address::name"+    attrGet _ = getAddressName+    attrSet _ = undefined+    attrConstruct _ = constructAddressName++-- VVV Prop "physical"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable]++getAddressPhysical :: (MonadIO m, AddressK o) => o -> m T.Text+getAddressPhysical obj = liftIO $ getObjectPropertyString obj "physical"++data AddressPhysicalPropertyInfo+instance AttrInfo AddressPhysicalPropertyInfo where+    type AttrAllowedOps AddressPhysicalPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint AddressPhysicalPropertyInfo = (~) ()+    type AttrBaseTypeConstraint AddressPhysicalPropertyInfo = AddressK+    type AttrGetType AddressPhysicalPropertyInfo = T.Text+    type AttrLabel AddressPhysicalPropertyInfo = "Address::physical"+    attrGet _ = getAddressPhysical+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "port"+   -- Type: TBasicType TInt32+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getAddressPort :: (MonadIO m, AddressK o) => o -> m Int32+getAddressPort obj = liftIO $ getObjectPropertyCInt obj "port"++constructAddressPort :: Int32 -> IO ([Char], GValue)+constructAddressPort val = constructObjectPropertyCInt "port" val++data AddressPortPropertyInfo+instance AttrInfo AddressPortPropertyInfo where+    type AttrAllowedOps AddressPortPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AddressPortPropertyInfo = (~) Int32+    type AttrBaseTypeConstraint AddressPortPropertyInfo = AddressK+    type AttrGetType AddressPortPropertyInfo = Int32+    type AttrLabel AddressPortPropertyInfo = "Address::port"+    attrGet _ = getAddressPort+    attrSet _ = undefined+    attrConstruct _ = constructAddressPort++-- VVV Prop "protocol"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getAddressProtocol :: (MonadIO m, AddressK o) => o -> m T.Text+getAddressProtocol obj = liftIO $ getObjectPropertyString obj "protocol"++constructAddressProtocol :: T.Text -> IO ([Char], GValue)+constructAddressProtocol val = constructObjectPropertyString "protocol" val++data AddressProtocolPropertyInfo+instance AttrInfo AddressProtocolPropertyInfo where+    type AttrAllowedOps AddressProtocolPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AddressProtocolPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint AddressProtocolPropertyInfo = AddressK+    type AttrGetType AddressProtocolPropertyInfo = T.Text+    type AttrLabel AddressProtocolPropertyInfo = "Address::protocol"+    attrGet _ = getAddressProtocol+    attrSet _ = undefined+    attrConstruct _ = constructAddressProtocol++-- VVV Prop "sockaddr"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getAddressSockaddr :: (MonadIO m, AddressK o) => o -> m (Ptr ())+getAddressSockaddr obj = liftIO $ getObjectPropertyPtr obj "sockaddr"++constructAddressSockaddr :: (Ptr ()) -> IO ([Char], GValue)+constructAddressSockaddr val = constructObjectPropertyPtr "sockaddr" val++data AddressSockaddrPropertyInfo+instance AttrInfo AddressSockaddrPropertyInfo where+    type AttrAllowedOps AddressSockaddrPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AddressSockaddrPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AddressSockaddrPropertyInfo = AddressK+    type AttrGetType AddressSockaddrPropertyInfo = (Ptr ())+    type AttrLabel AddressSockaddrPropertyInfo = "Address::sockaddr"+    attrGet _ = getAddressSockaddr+    attrSet _ = undefined+    attrConstruct _ = constructAddressSockaddr++type instance AttributeList Address = '[ '("family", AddressFamilyPropertyInfo), '("name", AddressNamePropertyInfo), '("physical", AddressPhysicalPropertyInfo), '("port", AddressPortPropertyInfo), '("protocol", AddressProtocolPropertyInfo), '("sockaddr", AddressSockaddrPropertyInfo)]++-- VVV Prop "host"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthHost :: (MonadIO m, AuthK o) => o -> m T.Text+getAuthHost obj = liftIO $ getObjectPropertyString obj "host"++setAuthHost :: (MonadIO m, AuthK o) => o -> T.Text -> m ()+setAuthHost obj val = liftIO $ setObjectPropertyString obj "host" val++constructAuthHost :: T.Text -> IO ([Char], GValue)+constructAuthHost val = constructObjectPropertyString "host" val++data AuthHostPropertyInfo+instance AttrInfo AuthHostPropertyInfo where+    type AttrAllowedOps AuthHostPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthHostPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint AuthHostPropertyInfo = AuthK+    type AttrGetType AuthHostPropertyInfo = T.Text+    type AttrLabel AuthHostPropertyInfo = "Auth::host"+    attrGet _ = getAuthHost+    attrSet _ = setAuthHost+    attrConstruct _ = constructAuthHost++-- VVV Prop "is-authenticated"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable]++getAuthIsAuthenticated :: (MonadIO m, AuthK o) => o -> m Bool+getAuthIsAuthenticated obj = liftIO $ getObjectPropertyBool obj "is-authenticated"++data AuthIsAuthenticatedPropertyInfo+instance AttrInfo AuthIsAuthenticatedPropertyInfo where+    type AttrAllowedOps AuthIsAuthenticatedPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint AuthIsAuthenticatedPropertyInfo = (~) ()+    type AttrBaseTypeConstraint AuthIsAuthenticatedPropertyInfo = AuthK+    type AttrGetType AuthIsAuthenticatedPropertyInfo = Bool+    type AttrLabel AuthIsAuthenticatedPropertyInfo = "Auth::is-authenticated"+    attrGet _ = getAuthIsAuthenticated+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "is-for-proxy"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthIsForProxy :: (MonadIO m, AuthK o) => o -> m Bool+getAuthIsForProxy obj = liftIO $ getObjectPropertyBool obj "is-for-proxy"++setAuthIsForProxy :: (MonadIO m, AuthK o) => o -> Bool -> m ()+setAuthIsForProxy obj val = liftIO $ setObjectPropertyBool obj "is-for-proxy" val++constructAuthIsForProxy :: Bool -> IO ([Char], GValue)+constructAuthIsForProxy val = constructObjectPropertyBool "is-for-proxy" val++data AuthIsForProxyPropertyInfo+instance AttrInfo AuthIsForProxyPropertyInfo where+    type AttrAllowedOps AuthIsForProxyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthIsForProxyPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint AuthIsForProxyPropertyInfo = AuthK+    type AttrGetType AuthIsForProxyPropertyInfo = Bool+    type AttrLabel AuthIsForProxyPropertyInfo = "Auth::is-for-proxy"+    attrGet _ = getAuthIsForProxy+    attrSet _ = setAuthIsForProxy+    attrConstruct _ = constructAuthIsForProxy++-- VVV Prop "realm"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthRealm :: (MonadIO m, AuthK o) => o -> m T.Text+getAuthRealm obj = liftIO $ getObjectPropertyString obj "realm"++setAuthRealm :: (MonadIO m, AuthK o) => o -> T.Text -> m ()+setAuthRealm obj val = liftIO $ setObjectPropertyString obj "realm" val++constructAuthRealm :: T.Text -> IO ([Char], GValue)+constructAuthRealm val = constructObjectPropertyString "realm" val++data AuthRealmPropertyInfo+instance AttrInfo AuthRealmPropertyInfo where+    type AttrAllowedOps AuthRealmPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthRealmPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint AuthRealmPropertyInfo = AuthK+    type AttrGetType AuthRealmPropertyInfo = T.Text+    type AttrLabel AuthRealmPropertyInfo = "Auth::realm"+    attrGet _ = getAuthRealm+    attrSet _ = setAuthRealm+    attrConstruct _ = constructAuthRealm++-- VVV Prop "scheme-name"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable]++getAuthSchemeName :: (MonadIO m, AuthK o) => o -> m T.Text+getAuthSchemeName obj = liftIO $ getObjectPropertyString obj "scheme-name"++data AuthSchemeNamePropertyInfo+instance AttrInfo AuthSchemeNamePropertyInfo where+    type AttrAllowedOps AuthSchemeNamePropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint AuthSchemeNamePropertyInfo = (~) ()+    type AttrBaseTypeConstraint AuthSchemeNamePropertyInfo = AuthK+    type AttrGetType AuthSchemeNamePropertyInfo = T.Text+    type AttrLabel AuthSchemeNamePropertyInfo = "Auth::scheme-name"+    attrGet _ = getAuthSchemeName+    attrSet _ = undefined+    attrConstruct _ = undefined++type instance AttributeList Auth = '[ '("host", AuthHostPropertyInfo), '("is-authenticated", AuthIsAuthenticatedPropertyInfo), '("is-for-proxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("scheme-name", AuthSchemeNamePropertyInfo)]++type instance AttributeList AuthBasic = '[ '("host", AuthHostPropertyInfo), '("is-authenticated", AuthIsAuthenticatedPropertyInfo), '("is-for-proxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("scheme-name", AuthSchemeNamePropertyInfo)]++type instance AttributeList AuthDigest = '[ '("host", AuthHostPropertyInfo), '("is-authenticated", AuthIsAuthenticatedPropertyInfo), '("is-for-proxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("scheme-name", AuthSchemeNamePropertyInfo)]++-- VVV Prop "add-path"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyWritable]++setAuthDomainAddPath :: (MonadIO m, AuthDomainK o) => o -> T.Text -> m ()+setAuthDomainAddPath obj val = liftIO $ setObjectPropertyString obj "add-path" val++constructAuthDomainAddPath :: T.Text -> IO ([Char], GValue)+constructAuthDomainAddPath val = constructObjectPropertyString "add-path" val++data AuthDomainAddPathPropertyInfo+instance AttrInfo AuthDomainAddPathPropertyInfo where+    type AttrAllowedOps AuthDomainAddPathPropertyInfo = '[ 'AttrSet, 'AttrConstruct]+    type AttrSetTypeConstraint AuthDomainAddPathPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint AuthDomainAddPathPropertyInfo = AuthDomainK+    type AttrGetType AuthDomainAddPathPropertyInfo = ()+    type AttrLabel AuthDomainAddPathPropertyInfo = "AuthDomain::add-path"+    attrGet _ = undefined+    attrSet _ = setAuthDomainAddPath+    attrConstruct _ = constructAuthDomainAddPath++-- VVV Prop "filter"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthDomainFilter :: (MonadIO m, AuthDomainK o) => o -> m (Ptr ())+getAuthDomainFilter obj = liftIO $ getObjectPropertyPtr obj "filter"++setAuthDomainFilter :: (MonadIO m, AuthDomainK o) => o -> (Ptr ()) -> m ()+setAuthDomainFilter obj val = liftIO $ setObjectPropertyPtr obj "filter" val++constructAuthDomainFilter :: (Ptr ()) -> IO ([Char], GValue)+constructAuthDomainFilter val = constructObjectPropertyPtr "filter" val++data AuthDomainFilterPropertyInfo+instance AttrInfo AuthDomainFilterPropertyInfo where+    type AttrAllowedOps AuthDomainFilterPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainFilterPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AuthDomainFilterPropertyInfo = AuthDomainK+    type AttrGetType AuthDomainFilterPropertyInfo = (Ptr ())+    type AttrLabel AuthDomainFilterPropertyInfo = "AuthDomain::filter"+    attrGet _ = getAuthDomainFilter+    attrSet _ = setAuthDomainFilter+    attrConstruct _ = constructAuthDomainFilter++-- VVV Prop "filter-data"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthDomainFilterData :: (MonadIO m, AuthDomainK o) => o -> m (Ptr ())+getAuthDomainFilterData obj = liftIO $ getObjectPropertyPtr obj "filter-data"++setAuthDomainFilterData :: (MonadIO m, AuthDomainK o) => o -> (Ptr ()) -> m ()+setAuthDomainFilterData obj val = liftIO $ setObjectPropertyPtr obj "filter-data" val++constructAuthDomainFilterData :: (Ptr ()) -> IO ([Char], GValue)+constructAuthDomainFilterData val = constructObjectPropertyPtr "filter-data" val++data AuthDomainFilterDataPropertyInfo+instance AttrInfo AuthDomainFilterDataPropertyInfo where+    type AttrAllowedOps AuthDomainFilterDataPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainFilterDataPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AuthDomainFilterDataPropertyInfo = AuthDomainK+    type AttrGetType AuthDomainFilterDataPropertyInfo = (Ptr ())+    type AttrLabel AuthDomainFilterDataPropertyInfo = "AuthDomain::filter-data"+    attrGet _ = getAuthDomainFilterData+    attrSet _ = setAuthDomainFilterData+    attrConstruct _ = constructAuthDomainFilterData++-- VVV Prop "generic-auth-callback"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthDomainGenericAuthCallback :: (MonadIO m, AuthDomainK o) => o -> m (Ptr ())+getAuthDomainGenericAuthCallback obj = liftIO $ getObjectPropertyPtr obj "generic-auth-callback"++setAuthDomainGenericAuthCallback :: (MonadIO m, AuthDomainK o) => o -> (Ptr ()) -> m ()+setAuthDomainGenericAuthCallback obj val = liftIO $ setObjectPropertyPtr obj "generic-auth-callback" val++constructAuthDomainGenericAuthCallback :: (Ptr ()) -> IO ([Char], GValue)+constructAuthDomainGenericAuthCallback val = constructObjectPropertyPtr "generic-auth-callback" val++data AuthDomainGenericAuthCallbackPropertyInfo+instance AttrInfo AuthDomainGenericAuthCallbackPropertyInfo where+    type AttrAllowedOps AuthDomainGenericAuthCallbackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainGenericAuthCallbackPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AuthDomainGenericAuthCallbackPropertyInfo = AuthDomainK+    type AttrGetType AuthDomainGenericAuthCallbackPropertyInfo = (Ptr ())+    type AttrLabel AuthDomainGenericAuthCallbackPropertyInfo = "AuthDomain::generic-auth-callback"+    attrGet _ = getAuthDomainGenericAuthCallback+    attrSet _ = setAuthDomainGenericAuthCallback+    attrConstruct _ = constructAuthDomainGenericAuthCallback++-- VVV Prop "generic-auth-data"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthDomainGenericAuthData :: (MonadIO m, AuthDomainK o) => o -> m (Ptr ())+getAuthDomainGenericAuthData obj = liftIO $ getObjectPropertyPtr obj "generic-auth-data"++setAuthDomainGenericAuthData :: (MonadIO m, AuthDomainK o) => o -> (Ptr ()) -> m ()+setAuthDomainGenericAuthData obj val = liftIO $ setObjectPropertyPtr obj "generic-auth-data" val++constructAuthDomainGenericAuthData :: (Ptr ()) -> IO ([Char], GValue)+constructAuthDomainGenericAuthData val = constructObjectPropertyPtr "generic-auth-data" val++data AuthDomainGenericAuthDataPropertyInfo+instance AttrInfo AuthDomainGenericAuthDataPropertyInfo where+    type AttrAllowedOps AuthDomainGenericAuthDataPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainGenericAuthDataPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AuthDomainGenericAuthDataPropertyInfo = AuthDomainK+    type AttrGetType AuthDomainGenericAuthDataPropertyInfo = (Ptr ())+    type AttrLabel AuthDomainGenericAuthDataPropertyInfo = "AuthDomain::generic-auth-data"+    attrGet _ = getAuthDomainGenericAuthData+    attrSet _ = setAuthDomainGenericAuthData+    attrConstruct _ = constructAuthDomainGenericAuthData++-- VVV Prop "proxy"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getAuthDomainProxy :: (MonadIO m, AuthDomainK o) => o -> m Bool+getAuthDomainProxy obj = liftIO $ getObjectPropertyBool obj "proxy"++constructAuthDomainProxy :: Bool -> IO ([Char], GValue)+constructAuthDomainProxy val = constructObjectPropertyBool "proxy" val++data AuthDomainProxyPropertyInfo+instance AttrInfo AuthDomainProxyPropertyInfo where+    type AttrAllowedOps AuthDomainProxyPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainProxyPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint AuthDomainProxyPropertyInfo = AuthDomainK+    type AttrGetType AuthDomainProxyPropertyInfo = Bool+    type AttrLabel AuthDomainProxyPropertyInfo = "AuthDomain::proxy"+    attrGet _ = getAuthDomainProxy+    attrSet _ = undefined+    attrConstruct _ = constructAuthDomainProxy++-- VVV Prop "realm"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getAuthDomainRealm :: (MonadIO m, AuthDomainK o) => o -> m T.Text+getAuthDomainRealm obj = liftIO $ getObjectPropertyString obj "realm"++constructAuthDomainRealm :: T.Text -> IO ([Char], GValue)+constructAuthDomainRealm val = constructObjectPropertyString "realm" val++data AuthDomainRealmPropertyInfo+instance AttrInfo AuthDomainRealmPropertyInfo where+    type AttrAllowedOps AuthDomainRealmPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainRealmPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint AuthDomainRealmPropertyInfo = AuthDomainK+    type AttrGetType AuthDomainRealmPropertyInfo = T.Text+    type AttrLabel AuthDomainRealmPropertyInfo = "AuthDomain::realm"+    attrGet _ = getAuthDomainRealm+    attrSet _ = undefined+    attrConstruct _ = constructAuthDomainRealm++-- VVV Prop "remove-path"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyWritable]++setAuthDomainRemovePath :: (MonadIO m, AuthDomainK o) => o -> T.Text -> m ()+setAuthDomainRemovePath obj val = liftIO $ setObjectPropertyString obj "remove-path" val++constructAuthDomainRemovePath :: T.Text -> IO ([Char], GValue)+constructAuthDomainRemovePath val = constructObjectPropertyString "remove-path" val++data AuthDomainRemovePathPropertyInfo+instance AttrInfo AuthDomainRemovePathPropertyInfo where+    type AttrAllowedOps AuthDomainRemovePathPropertyInfo = '[ 'AttrSet, 'AttrConstruct]+    type AttrSetTypeConstraint AuthDomainRemovePathPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint AuthDomainRemovePathPropertyInfo = AuthDomainK+    type AttrGetType AuthDomainRemovePathPropertyInfo = ()+    type AttrLabel AuthDomainRemovePathPropertyInfo = "AuthDomain::remove-path"+    attrGet _ = undefined+    attrSet _ = setAuthDomainRemovePath+    attrConstruct _ = constructAuthDomainRemovePath++type instance AttributeList AuthDomain = '[ '("add-path", AuthDomainAddPathPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filter-data", AuthDomainFilterDataPropertyInfo), '("generic-auth-callback", AuthDomainGenericAuthCallbackPropertyInfo), '("generic-auth-data", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("remove-path", AuthDomainRemovePathPropertyInfo)]++-- VVV Prop "auth-callback"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthDomainBasicAuthCallback :: (MonadIO m, AuthDomainBasicK o) => o -> m (Ptr ())+getAuthDomainBasicAuthCallback obj = liftIO $ getObjectPropertyPtr obj "auth-callback"++setAuthDomainBasicAuthCallback :: (MonadIO m, AuthDomainBasicK o) => o -> (Ptr ()) -> m ()+setAuthDomainBasicAuthCallback obj val = liftIO $ setObjectPropertyPtr obj "auth-callback" val++constructAuthDomainBasicAuthCallback :: (Ptr ()) -> IO ([Char], GValue)+constructAuthDomainBasicAuthCallback val = constructObjectPropertyPtr "auth-callback" val++data AuthDomainBasicAuthCallbackPropertyInfo+instance AttrInfo AuthDomainBasicAuthCallbackPropertyInfo where+    type AttrAllowedOps AuthDomainBasicAuthCallbackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainBasicAuthCallbackPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AuthDomainBasicAuthCallbackPropertyInfo = AuthDomainBasicK+    type AttrGetType AuthDomainBasicAuthCallbackPropertyInfo = (Ptr ())+    type AttrLabel AuthDomainBasicAuthCallbackPropertyInfo = "AuthDomainBasic::auth-callback"+    attrGet _ = getAuthDomainBasicAuthCallback+    attrSet _ = setAuthDomainBasicAuthCallback+    attrConstruct _ = constructAuthDomainBasicAuthCallback++-- VVV Prop "auth-data"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthDomainBasicAuthData :: (MonadIO m, AuthDomainBasicK o) => o -> m (Ptr ())+getAuthDomainBasicAuthData obj = liftIO $ getObjectPropertyPtr obj "auth-data"++setAuthDomainBasicAuthData :: (MonadIO m, AuthDomainBasicK o) => o -> (Ptr ()) -> m ()+setAuthDomainBasicAuthData obj val = liftIO $ setObjectPropertyPtr obj "auth-data" val++constructAuthDomainBasicAuthData :: (Ptr ()) -> IO ([Char], GValue)+constructAuthDomainBasicAuthData val = constructObjectPropertyPtr "auth-data" val++data AuthDomainBasicAuthDataPropertyInfo+instance AttrInfo AuthDomainBasicAuthDataPropertyInfo where+    type AttrAllowedOps AuthDomainBasicAuthDataPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainBasicAuthDataPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AuthDomainBasicAuthDataPropertyInfo = AuthDomainBasicK+    type AttrGetType AuthDomainBasicAuthDataPropertyInfo = (Ptr ())+    type AttrLabel AuthDomainBasicAuthDataPropertyInfo = "AuthDomainBasic::auth-data"+    attrGet _ = getAuthDomainBasicAuthData+    attrSet _ = setAuthDomainBasicAuthData+    attrConstruct _ = constructAuthDomainBasicAuthData++type instance AttributeList AuthDomainBasic = '[ '("add-path", AuthDomainAddPathPropertyInfo), '("auth-callback", AuthDomainBasicAuthCallbackPropertyInfo), '("auth-data", AuthDomainBasicAuthDataPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filter-data", AuthDomainFilterDataPropertyInfo), '("generic-auth-callback", AuthDomainGenericAuthCallbackPropertyInfo), '("generic-auth-data", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("remove-path", AuthDomainRemovePathPropertyInfo)]++-- VVV Prop "auth-callback"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthDomainDigestAuthCallback :: (MonadIO m, AuthDomainDigestK o) => o -> m (Ptr ())+getAuthDomainDigestAuthCallback obj = liftIO $ getObjectPropertyPtr obj "auth-callback"++setAuthDomainDigestAuthCallback :: (MonadIO m, AuthDomainDigestK o) => o -> (Ptr ()) -> m ()+setAuthDomainDigestAuthCallback obj val = liftIO $ setObjectPropertyPtr obj "auth-callback" val++constructAuthDomainDigestAuthCallback :: (Ptr ()) -> IO ([Char], GValue)+constructAuthDomainDigestAuthCallback val = constructObjectPropertyPtr "auth-callback" val++data AuthDomainDigestAuthCallbackPropertyInfo+instance AttrInfo AuthDomainDigestAuthCallbackPropertyInfo where+    type AttrAllowedOps AuthDomainDigestAuthCallbackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainDigestAuthCallbackPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AuthDomainDigestAuthCallbackPropertyInfo = AuthDomainDigestK+    type AttrGetType AuthDomainDigestAuthCallbackPropertyInfo = (Ptr ())+    type AttrLabel AuthDomainDigestAuthCallbackPropertyInfo = "AuthDomainDigest::auth-callback"+    attrGet _ = getAuthDomainDigestAuthCallback+    attrSet _ = setAuthDomainDigestAuthCallback+    attrConstruct _ = constructAuthDomainDigestAuthCallback++-- VVV Prop "auth-data"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getAuthDomainDigestAuthData :: (MonadIO m, AuthDomainDigestK o) => o -> m (Ptr ())+getAuthDomainDigestAuthData obj = liftIO $ getObjectPropertyPtr obj "auth-data"++setAuthDomainDigestAuthData :: (MonadIO m, AuthDomainDigestK o) => o -> (Ptr ()) -> m ()+setAuthDomainDigestAuthData obj val = liftIO $ setObjectPropertyPtr obj "auth-data" val++constructAuthDomainDigestAuthData :: (Ptr ()) -> IO ([Char], GValue)+constructAuthDomainDigestAuthData val = constructObjectPropertyPtr "auth-data" val++data AuthDomainDigestAuthDataPropertyInfo+instance AttrInfo AuthDomainDigestAuthDataPropertyInfo where+    type AttrAllowedOps AuthDomainDigestAuthDataPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint AuthDomainDigestAuthDataPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint AuthDomainDigestAuthDataPropertyInfo = AuthDomainDigestK+    type AttrGetType AuthDomainDigestAuthDataPropertyInfo = (Ptr ())+    type AttrLabel AuthDomainDigestAuthDataPropertyInfo = "AuthDomainDigest::auth-data"+    attrGet _ = getAuthDomainDigestAuthData+    attrSet _ = setAuthDomainDigestAuthData+    attrConstruct _ = constructAuthDomainDigestAuthData++type instance AttributeList AuthDomainDigest = '[ '("add-path", AuthDomainAddPathPropertyInfo), '("auth-callback", AuthDomainDigestAuthCallbackPropertyInfo), '("auth-data", AuthDomainDigestAuthDataPropertyInfo), '("filter", AuthDomainFilterPropertyInfo), '("filter-data", AuthDomainFilterDataPropertyInfo), '("generic-auth-callback", AuthDomainGenericAuthCallbackPropertyInfo), '("generic-auth-data", AuthDomainGenericAuthDataPropertyInfo), '("proxy", AuthDomainProxyPropertyInfo), '("realm", AuthDomainRealmPropertyInfo), '("remove-path", AuthDomainRemovePathPropertyInfo)]++type instance AttributeList AuthManager = '[ ]++type instance AttributeList AuthNTLM = '[ '("host", AuthHostPropertyInfo), '("is-authenticated", AuthIsAuthenticatedPropertyInfo), '("is-for-proxy", AuthIsForProxyPropertyInfo), '("realm", AuthRealmPropertyInfo), '("scheme-name", AuthSchemeNamePropertyInfo)]++-- VVV Prop "cache-dir"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getCacheCacheDir :: (MonadIO m, CacheK o) => o -> m T.Text+getCacheCacheDir obj = liftIO $ getObjectPropertyString obj "cache-dir"++constructCacheCacheDir :: T.Text -> IO ([Char], GValue)+constructCacheCacheDir val = constructObjectPropertyString "cache-dir" val++data CacheCacheDirPropertyInfo+instance AttrInfo CacheCacheDirPropertyInfo where+    type AttrAllowedOps CacheCacheDirPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CacheCacheDirPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint CacheCacheDirPropertyInfo = CacheK+    type AttrGetType CacheCacheDirPropertyInfo = T.Text+    type AttrLabel CacheCacheDirPropertyInfo = "Cache::cache-dir"+    attrGet _ = getCacheCacheDir+    attrSet _ = undefined+    attrConstruct _ = constructCacheCacheDir++-- VVV Prop "cache-type"+   -- Type: TInterface "Soup" "CacheType"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getCacheCacheType :: (MonadIO m, CacheK o) => o -> m CacheType+getCacheCacheType obj = liftIO $ getObjectPropertyEnum obj "cache-type"++constructCacheCacheType :: CacheType -> IO ([Char], GValue)+constructCacheCacheType val = constructObjectPropertyEnum "cache-type" val++data CacheCacheTypePropertyInfo+instance AttrInfo CacheCacheTypePropertyInfo where+    type AttrAllowedOps CacheCacheTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CacheCacheTypePropertyInfo = (~) CacheType+    type AttrBaseTypeConstraint CacheCacheTypePropertyInfo = CacheK+    type AttrGetType CacheCacheTypePropertyInfo = CacheType+    type AttrLabel CacheCacheTypePropertyInfo = "Cache::cache-type"+    attrGet _ = getCacheCacheType+    attrSet _ = undefined+    attrConstruct _ = constructCacheCacheType++type instance AttributeList Cache = '[ '("cache-dir", CacheCacheDirPropertyInfo), '("cache-type", CacheCacheTypePropertyInfo)]++type instance AttributeList ContentDecoder = '[ ]++type instance AttributeList ContentSniffer = '[ ]++-- VVV Prop "accept-policy"+   -- Type: TInterface "Soup" "CookieJarAcceptPolicy"+   -- Flags: [PropertyReadable,PropertyWritable]++getCookieJarAcceptPolicy :: (MonadIO m, CookieJarK o) => o -> m CookieJarAcceptPolicy+getCookieJarAcceptPolicy obj = liftIO $ getObjectPropertyEnum obj "accept-policy"++setCookieJarAcceptPolicy :: (MonadIO m, CookieJarK o) => o -> CookieJarAcceptPolicy -> m ()+setCookieJarAcceptPolicy obj val = liftIO $ setObjectPropertyEnum obj "accept-policy" val++constructCookieJarAcceptPolicy :: CookieJarAcceptPolicy -> IO ([Char], GValue)+constructCookieJarAcceptPolicy val = constructObjectPropertyEnum "accept-policy" val++data CookieJarAcceptPolicyPropertyInfo+instance AttrInfo CookieJarAcceptPolicyPropertyInfo where+    type AttrAllowedOps CookieJarAcceptPolicyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CookieJarAcceptPolicyPropertyInfo = (~) CookieJarAcceptPolicy+    type AttrBaseTypeConstraint CookieJarAcceptPolicyPropertyInfo = CookieJarK+    type AttrGetType CookieJarAcceptPolicyPropertyInfo = CookieJarAcceptPolicy+    type AttrLabel CookieJarAcceptPolicyPropertyInfo = "CookieJar::accept-policy"+    attrGet _ = getCookieJarAcceptPolicy+    attrSet _ = setCookieJarAcceptPolicy+    attrConstruct _ = constructCookieJarAcceptPolicy++-- VVV Prop "read-only"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getCookieJarReadOnly :: (MonadIO m, CookieJarK o) => o -> m Bool+getCookieJarReadOnly obj = liftIO $ getObjectPropertyBool obj "read-only"++constructCookieJarReadOnly :: Bool -> IO ([Char], GValue)+constructCookieJarReadOnly val = constructObjectPropertyBool "read-only" val++data CookieJarReadOnlyPropertyInfo+instance AttrInfo CookieJarReadOnlyPropertyInfo where+    type AttrAllowedOps CookieJarReadOnlyPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CookieJarReadOnlyPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint CookieJarReadOnlyPropertyInfo = CookieJarK+    type AttrGetType CookieJarReadOnlyPropertyInfo = Bool+    type AttrLabel CookieJarReadOnlyPropertyInfo = "CookieJar::read-only"+    attrGet _ = getCookieJarReadOnly+    attrSet _ = undefined+    attrConstruct _ = constructCookieJarReadOnly++type instance AttributeList CookieJar = '[ '("accept-policy", CookieJarAcceptPolicyPropertyInfo), '("read-only", CookieJarReadOnlyPropertyInfo)]++-- VVV Prop "filename"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getCookieJarDBFilename :: (MonadIO m, CookieJarDBK o) => o -> m T.Text+getCookieJarDBFilename obj = liftIO $ getObjectPropertyString obj "filename"++constructCookieJarDBFilename :: T.Text -> IO ([Char], GValue)+constructCookieJarDBFilename val = constructObjectPropertyString "filename" val++data CookieJarDBFilenamePropertyInfo+instance AttrInfo CookieJarDBFilenamePropertyInfo where+    type AttrAllowedOps CookieJarDBFilenamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CookieJarDBFilenamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint CookieJarDBFilenamePropertyInfo = CookieJarDBK+    type AttrGetType CookieJarDBFilenamePropertyInfo = T.Text+    type AttrLabel CookieJarDBFilenamePropertyInfo = "CookieJarDB::filename"+    attrGet _ = getCookieJarDBFilename+    attrSet _ = undefined+    attrConstruct _ = constructCookieJarDBFilename++type instance AttributeList CookieJarDB = '[ '("accept-policy", CookieJarAcceptPolicyPropertyInfo), '("filename", CookieJarDBFilenamePropertyInfo), '("read-only", CookieJarReadOnlyPropertyInfo)]++-- VVV Prop "filename"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getCookieJarTextFilename :: (MonadIO m, CookieJarTextK o) => o -> m T.Text+getCookieJarTextFilename obj = liftIO $ getObjectPropertyString obj "filename"++constructCookieJarTextFilename :: T.Text -> IO ([Char], GValue)+constructCookieJarTextFilename val = constructObjectPropertyString "filename" val++data CookieJarTextFilenamePropertyInfo+instance AttrInfo CookieJarTextFilenamePropertyInfo where+    type AttrAllowedOps CookieJarTextFilenamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint CookieJarTextFilenamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint CookieJarTextFilenamePropertyInfo = CookieJarTextK+    type AttrGetType CookieJarTextFilenamePropertyInfo = T.Text+    type AttrLabel CookieJarTextFilenamePropertyInfo = "CookieJarText::filename"+    attrGet _ = getCookieJarTextFilename+    attrSet _ = undefined+    attrConstruct _ = constructCookieJarTextFilename++type instance AttributeList CookieJarText = '[ '("accept-policy", CookieJarAcceptPolicyPropertyInfo), '("filename", CookieJarTextFilenamePropertyInfo), '("read-only", CookieJarReadOnlyPropertyInfo)]++type instance AttributeList Logger = '[ ]++-- VVV Prop "first-party"+   -- Type: TInterface "Soup" "URI"+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageFirstParty :: (MonadIO m, MessageK o) => o -> m URI+getMessageFirstParty obj = liftIO $ getObjectPropertyBoxed obj "first-party" URI++setMessageFirstParty :: (MonadIO m, MessageK o) => o -> URI -> m ()+setMessageFirstParty obj val = liftIO $ setObjectPropertyBoxed obj "first-party" val++constructMessageFirstParty :: URI -> IO ([Char], GValue)+constructMessageFirstParty val = constructObjectPropertyBoxed "first-party" val++data MessageFirstPartyPropertyInfo+instance AttrInfo MessageFirstPartyPropertyInfo where+    type AttrAllowedOps MessageFirstPartyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageFirstPartyPropertyInfo = (~) URI+    type AttrBaseTypeConstraint MessageFirstPartyPropertyInfo = MessageK+    type AttrGetType MessageFirstPartyPropertyInfo = URI+    type AttrLabel MessageFirstPartyPropertyInfo = "Message::first-party"+    attrGet _ = getMessageFirstParty+    attrSet _ = setMessageFirstParty+    attrConstruct _ = constructMessageFirstParty++-- VVV Prop "flags"+   -- Type: TInterface "Soup" "MessageFlags"+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageFlags :: (MonadIO m, MessageK o) => o -> m [MessageFlags]+getMessageFlags obj = liftIO $ getObjectPropertyFlags obj "flags"++setMessageFlags :: (MonadIO m, MessageK o) => o -> [MessageFlags] -> m ()+setMessageFlags obj val = liftIO $ setObjectPropertyFlags obj "flags" val++constructMessageFlags :: [MessageFlags] -> IO ([Char], GValue)+constructMessageFlags val = constructObjectPropertyFlags "flags" val++data MessageFlagsPropertyInfo+instance AttrInfo MessageFlagsPropertyInfo where+    type AttrAllowedOps MessageFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageFlagsPropertyInfo = (~) [MessageFlags]+    type AttrBaseTypeConstraint MessageFlagsPropertyInfo = MessageK+    type AttrGetType MessageFlagsPropertyInfo = [MessageFlags]+    type AttrLabel MessageFlagsPropertyInfo = "Message::flags"+    attrGet _ = getMessageFlags+    attrSet _ = setMessageFlags+    attrConstruct _ = constructMessageFlags++-- VVV Prop "http-version"+   -- Type: TInterface "Soup" "HTTPVersion"+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageHttpVersion :: (MonadIO m, MessageK o) => o -> m HTTPVersion+getMessageHttpVersion obj = liftIO $ getObjectPropertyEnum obj "http-version"++setMessageHttpVersion :: (MonadIO m, MessageK o) => o -> HTTPVersion -> m ()+setMessageHttpVersion obj val = liftIO $ setObjectPropertyEnum obj "http-version" val++constructMessageHttpVersion :: HTTPVersion -> IO ([Char], GValue)+constructMessageHttpVersion val = constructObjectPropertyEnum "http-version" val++data MessageHttpVersionPropertyInfo+instance AttrInfo MessageHttpVersionPropertyInfo where+    type AttrAllowedOps MessageHttpVersionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageHttpVersionPropertyInfo = (~) HTTPVersion+    type AttrBaseTypeConstraint MessageHttpVersionPropertyInfo = MessageK+    type AttrGetType MessageHttpVersionPropertyInfo = HTTPVersion+    type AttrLabel MessageHttpVersionPropertyInfo = "Message::http-version"+    attrGet _ = getMessageHttpVersion+    attrSet _ = setMessageHttpVersion+    attrConstruct _ = constructMessageHttpVersion++-- VVV Prop "method"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageMethod :: (MonadIO m, MessageK o) => o -> m T.Text+getMessageMethod obj = liftIO $ getObjectPropertyString obj "method"++setMessageMethod :: (MonadIO m, MessageK o) => o -> T.Text -> m ()+setMessageMethod obj val = liftIO $ setObjectPropertyString obj "method" val++constructMessageMethod :: T.Text -> IO ([Char], GValue)+constructMessageMethod val = constructObjectPropertyString "method" val++data MessageMethodPropertyInfo+instance AttrInfo MessageMethodPropertyInfo where+    type AttrAllowedOps MessageMethodPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageMethodPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint MessageMethodPropertyInfo = MessageK+    type AttrGetType MessageMethodPropertyInfo = T.Text+    type AttrLabel MessageMethodPropertyInfo = "Message::method"+    attrGet _ = getMessageMethod+    attrSet _ = setMessageMethod+    attrConstruct _ = constructMessageMethod++-- VVV Prop "priority"+   -- Type: TInterface "Soup" "MessagePriority"+   -- Flags: [PropertyReadable,PropertyWritable]++getMessagePriority :: (MonadIO m, MessageK o) => o -> m MessagePriority+getMessagePriority obj = liftIO $ getObjectPropertyEnum obj "priority"++setMessagePriority :: (MonadIO m, MessageK o) => o -> MessagePriority -> m ()+setMessagePriority obj val = liftIO $ setObjectPropertyEnum obj "priority" val++constructMessagePriority :: MessagePriority -> IO ([Char], GValue)+constructMessagePriority val = constructObjectPropertyEnum "priority" val++data MessagePriorityPropertyInfo+instance AttrInfo MessagePriorityPropertyInfo where+    type AttrAllowedOps MessagePriorityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessagePriorityPropertyInfo = (~) MessagePriority+    type AttrBaseTypeConstraint MessagePriorityPropertyInfo = MessageK+    type AttrGetType MessagePriorityPropertyInfo = MessagePriority+    type AttrLabel MessagePriorityPropertyInfo = "Message::priority"+    attrGet _ = getMessagePriority+    attrSet _ = setMessagePriority+    attrConstruct _ = constructMessagePriority++-- VVV Prop "reason-phrase"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageReasonPhrase :: (MonadIO m, MessageK o) => o -> m T.Text+getMessageReasonPhrase obj = liftIO $ getObjectPropertyString obj "reason-phrase"++setMessageReasonPhrase :: (MonadIO m, MessageK o) => o -> T.Text -> m ()+setMessageReasonPhrase obj val = liftIO $ setObjectPropertyString obj "reason-phrase" val++constructMessageReasonPhrase :: T.Text -> IO ([Char], GValue)+constructMessageReasonPhrase val = constructObjectPropertyString "reason-phrase" val++data MessageReasonPhrasePropertyInfo+instance AttrInfo MessageReasonPhrasePropertyInfo where+    type AttrAllowedOps MessageReasonPhrasePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageReasonPhrasePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint MessageReasonPhrasePropertyInfo = MessageK+    type AttrGetType MessageReasonPhrasePropertyInfo = T.Text+    type AttrLabel MessageReasonPhrasePropertyInfo = "Message::reason-phrase"+    attrGet _ = getMessageReasonPhrase+    attrSet _ = setMessageReasonPhrase+    attrConstruct _ = constructMessageReasonPhrase++-- VVV Prop "request-body"+   -- Type: TInterface "Soup" "MessageBody"+   -- Flags: [PropertyReadable]++getMessageRequestBody :: (MonadIO m, MessageK o) => o -> m MessageBody+getMessageRequestBody obj = liftIO $ getObjectPropertyBoxed obj "request-body" MessageBody++data MessageRequestBodyPropertyInfo+instance AttrInfo MessageRequestBodyPropertyInfo where+    type AttrAllowedOps MessageRequestBodyPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MessageRequestBodyPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MessageRequestBodyPropertyInfo = MessageK+    type AttrGetType MessageRequestBodyPropertyInfo = MessageBody+    type AttrLabel MessageRequestBodyPropertyInfo = "Message::request-body"+    attrGet _ = getMessageRequestBody+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "request-body-data"+   -- Type: TInterface "GLib" "Bytes"+   -- Flags: [PropertyReadable]++getMessageRequestBodyData :: (MonadIO m, MessageK o) => o -> m GLib.Bytes+getMessageRequestBodyData obj = liftIO $ getObjectPropertyBoxed obj "request-body-data" GLib.Bytes++data MessageRequestBodyDataPropertyInfo+instance AttrInfo MessageRequestBodyDataPropertyInfo where+    type AttrAllowedOps MessageRequestBodyDataPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MessageRequestBodyDataPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MessageRequestBodyDataPropertyInfo = MessageK+    type AttrGetType MessageRequestBodyDataPropertyInfo = GLib.Bytes+    type AttrLabel MessageRequestBodyDataPropertyInfo = "Message::request-body-data"+    attrGet _ = getMessageRequestBodyData+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "request-headers"+   -- Type: TInterface "Soup" "MessageHeaders"+   -- Flags: [PropertyReadable]++getMessageRequestHeaders :: (MonadIO m, MessageK o) => o -> m MessageHeaders+getMessageRequestHeaders obj = liftIO $ getObjectPropertyBoxed obj "request-headers" MessageHeaders++data MessageRequestHeadersPropertyInfo+instance AttrInfo MessageRequestHeadersPropertyInfo where+    type AttrAllowedOps MessageRequestHeadersPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MessageRequestHeadersPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MessageRequestHeadersPropertyInfo = MessageK+    type AttrGetType MessageRequestHeadersPropertyInfo = MessageHeaders+    type AttrLabel MessageRequestHeadersPropertyInfo = "Message::request-headers"+    attrGet _ = getMessageRequestHeaders+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "response-body"+   -- Type: TInterface "Soup" "MessageBody"+   -- Flags: [PropertyReadable]++getMessageResponseBody :: (MonadIO m, MessageK o) => o -> m MessageBody+getMessageResponseBody obj = liftIO $ getObjectPropertyBoxed obj "response-body" MessageBody++data MessageResponseBodyPropertyInfo+instance AttrInfo MessageResponseBodyPropertyInfo where+    type AttrAllowedOps MessageResponseBodyPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MessageResponseBodyPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MessageResponseBodyPropertyInfo = MessageK+    type AttrGetType MessageResponseBodyPropertyInfo = MessageBody+    type AttrLabel MessageResponseBodyPropertyInfo = "Message::response-body"+    attrGet _ = getMessageResponseBody+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "response-body-data"+   -- Type: TInterface "GLib" "Bytes"+   -- Flags: [PropertyReadable]++getMessageResponseBodyData :: (MonadIO m, MessageK o) => o -> m GLib.Bytes+getMessageResponseBodyData obj = liftIO $ getObjectPropertyBoxed obj "response-body-data" GLib.Bytes++data MessageResponseBodyDataPropertyInfo+instance AttrInfo MessageResponseBodyDataPropertyInfo where+    type AttrAllowedOps MessageResponseBodyDataPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MessageResponseBodyDataPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MessageResponseBodyDataPropertyInfo = MessageK+    type AttrGetType MessageResponseBodyDataPropertyInfo = GLib.Bytes+    type AttrLabel MessageResponseBodyDataPropertyInfo = "Message::response-body-data"+    attrGet _ = getMessageResponseBodyData+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "response-headers"+   -- Type: TInterface "Soup" "MessageHeaders"+   -- Flags: [PropertyReadable]++getMessageResponseHeaders :: (MonadIO m, MessageK o) => o -> m MessageHeaders+getMessageResponseHeaders obj = liftIO $ getObjectPropertyBoxed obj "response-headers" MessageHeaders++data MessageResponseHeadersPropertyInfo+instance AttrInfo MessageResponseHeadersPropertyInfo where+    type AttrAllowedOps MessageResponseHeadersPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MessageResponseHeadersPropertyInfo = (~) ()+    type AttrBaseTypeConstraint MessageResponseHeadersPropertyInfo = MessageK+    type AttrGetType MessageResponseHeadersPropertyInfo = MessageHeaders+    type AttrLabel MessageResponseHeadersPropertyInfo = "Message::response-headers"+    attrGet _ = getMessageResponseHeaders+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "server-side"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getMessageServerSide :: (MonadIO m, MessageK o) => o -> m Bool+getMessageServerSide obj = liftIO $ getObjectPropertyBool obj "server-side"++constructMessageServerSide :: Bool -> IO ([Char], GValue)+constructMessageServerSide val = constructObjectPropertyBool "server-side" val++data MessageServerSidePropertyInfo+instance AttrInfo MessageServerSidePropertyInfo where+    type AttrAllowedOps MessageServerSidePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageServerSidePropertyInfo = (~) Bool+    type AttrBaseTypeConstraint MessageServerSidePropertyInfo = MessageK+    type AttrGetType MessageServerSidePropertyInfo = Bool+    type AttrLabel MessageServerSidePropertyInfo = "Message::server-side"+    attrGet _ = getMessageServerSide+    attrSet _ = undefined+    attrConstruct _ = constructMessageServerSide++-- VVV Prop "status-code"+   -- Type: TBasicType TUInt32+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageStatusCode :: (MonadIO m, MessageK o) => o -> m Word32+getMessageStatusCode obj = liftIO $ getObjectPropertyCUInt obj "status-code"++setMessageStatusCode :: (MonadIO m, MessageK o) => o -> Word32 -> m ()+setMessageStatusCode obj val = liftIO $ setObjectPropertyCUInt obj "status-code" val++constructMessageStatusCode :: Word32 -> IO ([Char], GValue)+constructMessageStatusCode val = constructObjectPropertyCUInt "status-code" val++data MessageStatusCodePropertyInfo+instance AttrInfo MessageStatusCodePropertyInfo where+    type AttrAllowedOps MessageStatusCodePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageStatusCodePropertyInfo = (~) Word32+    type AttrBaseTypeConstraint MessageStatusCodePropertyInfo = MessageK+    type AttrGetType MessageStatusCodePropertyInfo = Word32+    type AttrLabel MessageStatusCodePropertyInfo = "Message::status-code"+    attrGet _ = getMessageStatusCode+    attrSet _ = setMessageStatusCode+    attrConstruct _ = constructMessageStatusCode++-- VVV Prop "tls-certificate"+   -- Type: TInterface "Gio" "TlsCertificate"+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageTlsCertificate :: (MonadIO m, MessageK o) => o -> m Gio.TlsCertificate+getMessageTlsCertificate obj = liftIO $ getObjectPropertyObject obj "tls-certificate" Gio.TlsCertificate++setMessageTlsCertificate :: (MonadIO m, MessageK o, Gio.TlsCertificateK a) => o -> a -> m ()+setMessageTlsCertificate obj val = liftIO $ setObjectPropertyObject obj "tls-certificate" val++constructMessageTlsCertificate :: (Gio.TlsCertificateK a) => a -> IO ([Char], GValue)+constructMessageTlsCertificate val = constructObjectPropertyObject "tls-certificate" val++data MessageTlsCertificatePropertyInfo+instance AttrInfo MessageTlsCertificatePropertyInfo where+    type AttrAllowedOps MessageTlsCertificatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageTlsCertificatePropertyInfo = Gio.TlsCertificateK+    type AttrBaseTypeConstraint MessageTlsCertificatePropertyInfo = MessageK+    type AttrGetType MessageTlsCertificatePropertyInfo = Gio.TlsCertificate+    type AttrLabel MessageTlsCertificatePropertyInfo = "Message::tls-certificate"+    attrGet _ = getMessageTlsCertificate+    attrSet _ = setMessageTlsCertificate+    attrConstruct _ = constructMessageTlsCertificate++-- VVV Prop "tls-errors"+   -- Type: TInterface "Gio" "TlsCertificateFlags"+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageTlsErrors :: (MonadIO m, MessageK o) => o -> m [Gio.TlsCertificateFlags]+getMessageTlsErrors obj = liftIO $ getObjectPropertyFlags obj "tls-errors"++setMessageTlsErrors :: (MonadIO m, MessageK o) => o -> [Gio.TlsCertificateFlags] -> m ()+setMessageTlsErrors obj val = liftIO $ setObjectPropertyFlags obj "tls-errors" val++constructMessageTlsErrors :: [Gio.TlsCertificateFlags] -> IO ([Char], GValue)+constructMessageTlsErrors val = constructObjectPropertyFlags "tls-errors" val++data MessageTlsErrorsPropertyInfo+instance AttrInfo MessageTlsErrorsPropertyInfo where+    type AttrAllowedOps MessageTlsErrorsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageTlsErrorsPropertyInfo = (~) [Gio.TlsCertificateFlags]+    type AttrBaseTypeConstraint MessageTlsErrorsPropertyInfo = MessageK+    type AttrGetType MessageTlsErrorsPropertyInfo = [Gio.TlsCertificateFlags]+    type AttrLabel MessageTlsErrorsPropertyInfo = "Message::tls-errors"+    attrGet _ = getMessageTlsErrors+    attrSet _ = setMessageTlsErrors+    attrConstruct _ = constructMessageTlsErrors++-- VVV Prop "uri"+   -- Type: TInterface "Soup" "URI"+   -- Flags: [PropertyReadable,PropertyWritable]++getMessageUri :: (MonadIO m, MessageK o) => o -> m URI+getMessageUri obj = liftIO $ getObjectPropertyBoxed obj "uri" URI++setMessageUri :: (MonadIO m, MessageK o) => o -> URI -> m ()+setMessageUri obj val = liftIO $ setObjectPropertyBoxed obj "uri" val++constructMessageUri :: URI -> IO ([Char], GValue)+constructMessageUri val = constructObjectPropertyBoxed "uri" val++data MessageUriPropertyInfo+instance AttrInfo MessageUriPropertyInfo where+    type AttrAllowedOps MessageUriPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MessageUriPropertyInfo = (~) URI+    type AttrBaseTypeConstraint MessageUriPropertyInfo = MessageK+    type AttrGetType MessageUriPropertyInfo = URI+    type AttrLabel MessageUriPropertyInfo = "Message::uri"+    attrGet _ = getMessageUri+    attrSet _ = setMessageUri+    attrConstruct _ = constructMessageUri++type instance AttributeList Message = '[ '("first-party", MessageFirstPartyPropertyInfo), '("flags", MessageFlagsPropertyInfo), '("http-version", MessageHttpVersionPropertyInfo), '("method", MessageMethodPropertyInfo), '("priority", MessagePriorityPropertyInfo), '("reason-phrase", MessageReasonPhrasePropertyInfo), '("request-body", MessageRequestBodyPropertyInfo), '("request-body-data", MessageRequestBodyDataPropertyInfo), '("request-headers", MessageRequestHeadersPropertyInfo), '("response-body", MessageResponseBodyPropertyInfo), '("response-body-data", MessageResponseBodyDataPropertyInfo), '("response-headers", MessageResponseHeadersPropertyInfo), '("server-side", MessageServerSidePropertyInfo), '("status-code", MessageStatusCodePropertyInfo), '("tls-certificate", MessageTlsCertificatePropertyInfo), '("tls-errors", MessageTlsErrorsPropertyInfo), '("uri", MessageUriPropertyInfo)]++-- VVV Prop "message"+   -- Type: TInterface "Soup" "Message"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getMultipartInputStreamMessage :: (MonadIO m, MultipartInputStreamK o) => o -> m Message+getMultipartInputStreamMessage obj = liftIO $ getObjectPropertyObject obj "message" Message++constructMultipartInputStreamMessage :: (MessageK a) => a -> IO ([Char], GValue)+constructMultipartInputStreamMessage val = constructObjectPropertyObject "message" val++data MultipartInputStreamMessagePropertyInfo+instance AttrInfo MultipartInputStreamMessagePropertyInfo where+    type AttrAllowedOps MultipartInputStreamMessagePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint MultipartInputStreamMessagePropertyInfo = MessageK+    type AttrBaseTypeConstraint MultipartInputStreamMessagePropertyInfo = MultipartInputStreamK+    type AttrGetType MultipartInputStreamMessagePropertyInfo = Message+    type AttrLabel MultipartInputStreamMessagePropertyInfo = "MultipartInputStream::message"+    attrGet _ = getMultipartInputStreamMessage+    attrSet _ = undefined+    attrConstruct _ = constructMultipartInputStreamMessage++type instance AttributeList MultipartInputStream = '[ '("base-stream", GioA.FilterInputStreamBaseStreamPropertyInfo), '("close-base-stream", GioA.FilterInputStreamCloseBaseStreamPropertyInfo), '("message", MultipartInputStreamMessagePropertyInfo)]++type instance AttributeList PasswordManager = '[ ]++-- VVV Prop "gproxy-resolver"+   -- Type: TInterface "Gio" "ProxyResolver"+   -- Flags: [PropertyWritable]++setProxyResolverDefaultGproxyResolver :: (MonadIO m, ProxyResolverDefaultK o, Gio.ProxyResolverK a) => o -> a -> m ()+setProxyResolverDefaultGproxyResolver obj val = liftIO $ setObjectPropertyObject obj "gproxy-resolver" val++constructProxyResolverDefaultGproxyResolver :: (Gio.ProxyResolverK a) => a -> IO ([Char], GValue)+constructProxyResolverDefaultGproxyResolver val = constructObjectPropertyObject "gproxy-resolver" val++data ProxyResolverDefaultGproxyResolverPropertyInfo+instance AttrInfo ProxyResolverDefaultGproxyResolverPropertyInfo where+    type AttrAllowedOps ProxyResolverDefaultGproxyResolverPropertyInfo = '[ 'AttrSet, 'AttrConstruct]+    type AttrSetTypeConstraint ProxyResolverDefaultGproxyResolverPropertyInfo = Gio.ProxyResolverK+    type AttrBaseTypeConstraint ProxyResolverDefaultGproxyResolverPropertyInfo = ProxyResolverDefaultK+    type AttrGetType ProxyResolverDefaultGproxyResolverPropertyInfo = ()+    type AttrLabel ProxyResolverDefaultGproxyResolverPropertyInfo = "ProxyResolverDefault::gproxy-resolver"+    attrGet _ = undefined+    attrSet _ = setProxyResolverDefaultGproxyResolver+    attrConstruct _ = constructProxyResolverDefaultGproxyResolver++type instance AttributeList ProxyResolverDefault = '[ '("gproxy-resolver", ProxyResolverDefaultGproxyResolverPropertyInfo)]++type instance AttributeList ProxyURIResolver = '[ ]++-- VVV Prop "session"+   -- Type: TInterface "Soup" "Session"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getRequestSession :: (MonadIO m, RequestK o) => o -> m Session+getRequestSession obj = liftIO $ getObjectPropertyObject obj "session" Session++constructRequestSession :: (SessionK a) => a -> IO ([Char], GValue)+constructRequestSession val = constructObjectPropertyObject "session" val++data RequestSessionPropertyInfo+instance AttrInfo RequestSessionPropertyInfo where+    type AttrAllowedOps RequestSessionPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint RequestSessionPropertyInfo = SessionK+    type AttrBaseTypeConstraint RequestSessionPropertyInfo = RequestK+    type AttrGetType RequestSessionPropertyInfo = Session+    type AttrLabel RequestSessionPropertyInfo = "Request::session"+    attrGet _ = getRequestSession+    attrSet _ = undefined+    attrConstruct _ = constructRequestSession++-- VVV Prop "uri"+   -- Type: TInterface "Soup" "URI"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getRequestUri :: (MonadIO m, RequestK o) => o -> m URI+getRequestUri obj = liftIO $ getObjectPropertyBoxed obj "uri" URI++constructRequestUri :: URI -> IO ([Char], GValue)+constructRequestUri val = constructObjectPropertyBoxed "uri" val++data RequestUriPropertyInfo+instance AttrInfo RequestUriPropertyInfo where+    type AttrAllowedOps RequestUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint RequestUriPropertyInfo = (~) URI+    type AttrBaseTypeConstraint RequestUriPropertyInfo = RequestK+    type AttrGetType RequestUriPropertyInfo = URI+    type AttrLabel RequestUriPropertyInfo = "Request::uri"+    attrGet _ = getRequestUri+    attrSet _ = undefined+    attrConstruct _ = constructRequestUri++type instance AttributeList Request = '[ '("session", RequestSessionPropertyInfo), '("uri", RequestUriPropertyInfo)]++type instance AttributeList RequestData = '[ '("session", RequestSessionPropertyInfo), '("uri", RequestUriPropertyInfo)]++type instance AttributeList RequestFile = '[ '("session", RequestSessionPropertyInfo), '("uri", RequestUriPropertyInfo)]++type instance AttributeList RequestHTTP = '[ '("session", RequestSessionPropertyInfo), '("uri", RequestUriPropertyInfo)]++type instance AttributeList Requester = '[ ]++-- VVV Prop "async-context"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getServerAsyncContext :: (MonadIO m, ServerK o) => o -> m (Ptr ())+getServerAsyncContext obj = liftIO $ getObjectPropertyPtr obj "async-context"++constructServerAsyncContext :: (Ptr ()) -> IO ([Char], GValue)+constructServerAsyncContext val = constructObjectPropertyPtr "async-context" val++data ServerAsyncContextPropertyInfo+instance AttrInfo ServerAsyncContextPropertyInfo where+    type AttrAllowedOps ServerAsyncContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerAsyncContextPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint ServerAsyncContextPropertyInfo = ServerK+    type AttrGetType ServerAsyncContextPropertyInfo = (Ptr ())+    type AttrLabel ServerAsyncContextPropertyInfo = "Server::async-context"+    attrGet _ = getServerAsyncContext+    attrSet _ = undefined+    attrConstruct _ = constructServerAsyncContext++-- VVV Prop "http-aliases"+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)+   -- Flags: [PropertyReadable,PropertyWritable]++getServerHttpAliases :: (MonadIO m, ServerK o) => o -> m [T.Text]+getServerHttpAliases obj = liftIO $ getObjectPropertyStringArray obj "http-aliases"++setServerHttpAliases :: (MonadIO m, ServerK o) => o -> [T.Text] -> m ()+setServerHttpAliases obj val = liftIO $ setObjectPropertyStringArray obj "http-aliases" val++constructServerHttpAliases :: [T.Text] -> IO ([Char], GValue)+constructServerHttpAliases val = constructObjectPropertyStringArray "http-aliases" val++data ServerHttpAliasesPropertyInfo+instance AttrInfo ServerHttpAliasesPropertyInfo where+    type AttrAllowedOps ServerHttpAliasesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerHttpAliasesPropertyInfo = (~) [T.Text]+    type AttrBaseTypeConstraint ServerHttpAliasesPropertyInfo = ServerK+    type AttrGetType ServerHttpAliasesPropertyInfo = [T.Text]+    type AttrLabel ServerHttpAliasesPropertyInfo = "Server::http-aliases"+    attrGet _ = getServerHttpAliases+    attrSet _ = setServerHttpAliases+    attrConstruct _ = constructServerHttpAliases++-- VVV Prop "https-aliases"+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)+   -- Flags: [PropertyReadable,PropertyWritable]++getServerHttpsAliases :: (MonadIO m, ServerK o) => o -> m [T.Text]+getServerHttpsAliases obj = liftIO $ getObjectPropertyStringArray obj "https-aliases"++setServerHttpsAliases :: (MonadIO m, ServerK o) => o -> [T.Text] -> m ()+setServerHttpsAliases obj val = liftIO $ setObjectPropertyStringArray obj "https-aliases" val++constructServerHttpsAliases :: [T.Text] -> IO ([Char], GValue)+constructServerHttpsAliases val = constructObjectPropertyStringArray "https-aliases" val++data ServerHttpsAliasesPropertyInfo+instance AttrInfo ServerHttpsAliasesPropertyInfo where+    type AttrAllowedOps ServerHttpsAliasesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerHttpsAliasesPropertyInfo = (~) [T.Text]+    type AttrBaseTypeConstraint ServerHttpsAliasesPropertyInfo = ServerK+    type AttrGetType ServerHttpsAliasesPropertyInfo = [T.Text]+    type AttrLabel ServerHttpsAliasesPropertyInfo = "Server::https-aliases"+    attrGet _ = getServerHttpsAliases+    attrSet _ = setServerHttpsAliases+    attrConstruct _ = constructServerHttpsAliases++-- VVV Prop "interface"+   -- Type: TInterface "Soup" "Address"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getServerInterface :: (MonadIO m, ServerK o) => o -> m Address+getServerInterface obj = liftIO $ getObjectPropertyObject obj "interface" Address++constructServerInterface :: (AddressK a) => a -> IO ([Char], GValue)+constructServerInterface val = constructObjectPropertyObject "interface" val++data ServerInterfacePropertyInfo+instance AttrInfo ServerInterfacePropertyInfo where+    type AttrAllowedOps ServerInterfacePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerInterfacePropertyInfo = AddressK+    type AttrBaseTypeConstraint ServerInterfacePropertyInfo = ServerK+    type AttrGetType ServerInterfacePropertyInfo = Address+    type AttrLabel ServerInterfacePropertyInfo = "Server::interface"+    attrGet _ = getServerInterface+    attrSet _ = undefined+    attrConstruct _ = constructServerInterface++-- VVV Prop "port"+   -- Type: TBasicType TUInt32+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getServerPort :: (MonadIO m, ServerK o) => o -> m Word32+getServerPort obj = liftIO $ getObjectPropertyCUInt obj "port"++constructServerPort :: Word32 -> IO ([Char], GValue)+constructServerPort val = constructObjectPropertyCUInt "port" val++data ServerPortPropertyInfo+instance AttrInfo ServerPortPropertyInfo where+    type AttrAllowedOps ServerPortPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerPortPropertyInfo = (~) Word32+    type AttrBaseTypeConstraint ServerPortPropertyInfo = ServerK+    type AttrGetType ServerPortPropertyInfo = Word32+    type AttrLabel ServerPortPropertyInfo = "Server::port"+    attrGet _ = getServerPort+    attrSet _ = undefined+    attrConstruct _ = constructServerPort++-- VVV Prop "raw-paths"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getServerRawPaths :: (MonadIO m, ServerK o) => o -> m Bool+getServerRawPaths obj = liftIO $ getObjectPropertyBool obj "raw-paths"++constructServerRawPaths :: Bool -> IO ([Char], GValue)+constructServerRawPaths val = constructObjectPropertyBool "raw-paths" val++data ServerRawPathsPropertyInfo+instance AttrInfo ServerRawPathsPropertyInfo where+    type AttrAllowedOps ServerRawPathsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerRawPathsPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint ServerRawPathsPropertyInfo = ServerK+    type AttrGetType ServerRawPathsPropertyInfo = Bool+    type AttrLabel ServerRawPathsPropertyInfo = "Server::raw-paths"+    attrGet _ = getServerRawPaths+    attrSet _ = undefined+    attrConstruct _ = constructServerRawPaths++-- VVV Prop "server-header"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]++getServerServerHeader :: (MonadIO m, ServerK o) => o -> m T.Text+getServerServerHeader obj = liftIO $ getObjectPropertyString obj "server-header"++setServerServerHeader :: (MonadIO m, ServerK o) => o -> T.Text -> m ()+setServerServerHeader obj val = liftIO $ setObjectPropertyString obj "server-header" val++constructServerServerHeader :: T.Text -> IO ([Char], GValue)+constructServerServerHeader val = constructObjectPropertyString "server-header" val++data ServerServerHeaderPropertyInfo+instance AttrInfo ServerServerHeaderPropertyInfo where+    type AttrAllowedOps ServerServerHeaderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerServerHeaderPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint ServerServerHeaderPropertyInfo = ServerK+    type AttrGetType ServerServerHeaderPropertyInfo = T.Text+    type AttrLabel ServerServerHeaderPropertyInfo = "Server::server-header"+    attrGet _ = getServerServerHeader+    attrSet _ = setServerServerHeader+    attrConstruct _ = constructServerServerHeader++-- VVV Prop "ssl-cert-file"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getServerSslCertFile :: (MonadIO m, ServerK o) => o -> m T.Text+getServerSslCertFile obj = liftIO $ getObjectPropertyString obj "ssl-cert-file"++constructServerSslCertFile :: T.Text -> IO ([Char], GValue)+constructServerSslCertFile val = constructObjectPropertyString "ssl-cert-file" val++data ServerSslCertFilePropertyInfo+instance AttrInfo ServerSslCertFilePropertyInfo where+    type AttrAllowedOps ServerSslCertFilePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerSslCertFilePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint ServerSslCertFilePropertyInfo = ServerK+    type AttrGetType ServerSslCertFilePropertyInfo = T.Text+    type AttrLabel ServerSslCertFilePropertyInfo = "Server::ssl-cert-file"+    attrGet _ = getServerSslCertFile+    attrSet _ = undefined+    attrConstruct _ = constructServerSslCertFile++-- VVV Prop "ssl-key-file"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getServerSslKeyFile :: (MonadIO m, ServerK o) => o -> m T.Text+getServerSslKeyFile obj = liftIO $ getObjectPropertyString obj "ssl-key-file"++constructServerSslKeyFile :: T.Text -> IO ([Char], GValue)+constructServerSslKeyFile val = constructObjectPropertyString "ssl-key-file" val++data ServerSslKeyFilePropertyInfo+instance AttrInfo ServerSslKeyFilePropertyInfo where+    type AttrAllowedOps ServerSslKeyFilePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerSslKeyFilePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint ServerSslKeyFilePropertyInfo = ServerK+    type AttrGetType ServerSslKeyFilePropertyInfo = T.Text+    type AttrLabel ServerSslKeyFilePropertyInfo = "Server::ssl-key-file"+    attrGet _ = getServerSslKeyFile+    attrSet _ = undefined+    attrConstruct _ = constructServerSslKeyFile++-- VVV Prop "tls-certificate"+   -- Type: TInterface "Gio" "TlsCertificate"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getServerTlsCertificate :: (MonadIO m, ServerK o) => o -> m Gio.TlsCertificate+getServerTlsCertificate obj = liftIO $ getObjectPropertyObject obj "tls-certificate" Gio.TlsCertificate++constructServerTlsCertificate :: (Gio.TlsCertificateK a) => a -> IO ([Char], GValue)+constructServerTlsCertificate val = constructObjectPropertyObject "tls-certificate" val++data ServerTlsCertificatePropertyInfo+instance AttrInfo ServerTlsCertificatePropertyInfo where+    type AttrAllowedOps ServerTlsCertificatePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ServerTlsCertificatePropertyInfo = Gio.TlsCertificateK+    type AttrBaseTypeConstraint ServerTlsCertificatePropertyInfo = ServerK+    type AttrGetType ServerTlsCertificatePropertyInfo = Gio.TlsCertificate+    type AttrLabel ServerTlsCertificatePropertyInfo = "Server::tls-certificate"+    attrGet _ = getServerTlsCertificate+    attrSet _ = undefined+    attrConstruct _ = constructServerTlsCertificate++type instance AttributeList Server = '[ '("async-context", ServerAsyncContextPropertyInfo), '("http-aliases", ServerHttpAliasesPropertyInfo), '("https-aliases", ServerHttpsAliasesPropertyInfo), '("interface", ServerInterfacePropertyInfo), '("port", ServerPortPropertyInfo), '("raw-paths", ServerRawPathsPropertyInfo), '("server-header", ServerServerHeaderPropertyInfo), '("ssl-cert-file", ServerSslCertFilePropertyInfo), '("ssl-key-file", ServerSslKeyFilePropertyInfo), '("tls-certificate", ServerTlsCertificatePropertyInfo)]++-- VVV Prop "accept-language"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionAcceptLanguage :: (MonadIO m, SessionK o) => o -> m T.Text+getSessionAcceptLanguage obj = liftIO $ getObjectPropertyString obj "accept-language"++setSessionAcceptLanguage :: (MonadIO m, SessionK o) => o -> T.Text -> m ()+setSessionAcceptLanguage obj val = liftIO $ setObjectPropertyString obj "accept-language" val++constructSessionAcceptLanguage :: T.Text -> IO ([Char], GValue)+constructSessionAcceptLanguage val = constructObjectPropertyString "accept-language" val++data SessionAcceptLanguagePropertyInfo+instance AttrInfo SessionAcceptLanguagePropertyInfo where+    type AttrAllowedOps SessionAcceptLanguagePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionAcceptLanguagePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint SessionAcceptLanguagePropertyInfo = SessionK+    type AttrGetType SessionAcceptLanguagePropertyInfo = T.Text+    type AttrLabel SessionAcceptLanguagePropertyInfo = "Session::accept-language"+    attrGet _ = getSessionAcceptLanguage+    attrSet _ = setSessionAcceptLanguage+    attrConstruct _ = constructSessionAcceptLanguage++-- VVV Prop "accept-language-auto"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionAcceptLanguageAuto :: (MonadIO m, SessionK o) => o -> m Bool+getSessionAcceptLanguageAuto obj = liftIO $ getObjectPropertyBool obj "accept-language-auto"++setSessionAcceptLanguageAuto :: (MonadIO m, SessionK o) => o -> Bool -> m ()+setSessionAcceptLanguageAuto obj val = liftIO $ setObjectPropertyBool obj "accept-language-auto" val++constructSessionAcceptLanguageAuto :: Bool -> IO ([Char], GValue)+constructSessionAcceptLanguageAuto val = constructObjectPropertyBool "accept-language-auto" val++data SessionAcceptLanguageAutoPropertyInfo+instance AttrInfo SessionAcceptLanguageAutoPropertyInfo where+    type AttrAllowedOps SessionAcceptLanguageAutoPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionAcceptLanguageAutoPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SessionAcceptLanguageAutoPropertyInfo = SessionK+    type AttrGetType SessionAcceptLanguageAutoPropertyInfo = Bool+    type AttrLabel SessionAcceptLanguageAutoPropertyInfo = "Session::accept-language-auto"+    attrGet _ = getSessionAcceptLanguageAuto+    attrSet _ = setSessionAcceptLanguageAuto+    attrConstruct _ = constructSessionAcceptLanguageAuto++-- VVV Prop "async-context"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSessionAsyncContext :: (MonadIO m, SessionK o) => o -> m (Ptr ())+getSessionAsyncContext obj = liftIO $ getObjectPropertyPtr obj "async-context"++constructSessionAsyncContext :: (Ptr ()) -> IO ([Char], GValue)+constructSessionAsyncContext val = constructObjectPropertyPtr "async-context" val++data SessionAsyncContextPropertyInfo+instance AttrInfo SessionAsyncContextPropertyInfo where+    type AttrAllowedOps SessionAsyncContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionAsyncContextPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint SessionAsyncContextPropertyInfo = SessionK+    type AttrGetType SessionAsyncContextPropertyInfo = (Ptr ())+    type AttrLabel SessionAsyncContextPropertyInfo = "Session::async-context"+    attrGet _ = getSessionAsyncContext+    attrSet _ = undefined+    attrConstruct _ = constructSessionAsyncContext++-- VVV Prop "http-aliases"+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionHttpAliases :: (MonadIO m, SessionK o) => o -> m [T.Text]+getSessionHttpAliases obj = liftIO $ getObjectPropertyStringArray obj "http-aliases"++setSessionHttpAliases :: (MonadIO m, SessionK o) => o -> [T.Text] -> m ()+setSessionHttpAliases obj val = liftIO $ setObjectPropertyStringArray obj "http-aliases" val++constructSessionHttpAliases :: [T.Text] -> IO ([Char], GValue)+constructSessionHttpAliases val = constructObjectPropertyStringArray "http-aliases" val++data SessionHttpAliasesPropertyInfo+instance AttrInfo SessionHttpAliasesPropertyInfo where+    type AttrAllowedOps SessionHttpAliasesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionHttpAliasesPropertyInfo = (~) [T.Text]+    type AttrBaseTypeConstraint SessionHttpAliasesPropertyInfo = SessionK+    type AttrGetType SessionHttpAliasesPropertyInfo = [T.Text]+    type AttrLabel SessionHttpAliasesPropertyInfo = "Session::http-aliases"+    attrGet _ = getSessionHttpAliases+    attrSet _ = setSessionHttpAliases+    attrConstruct _ = constructSessionHttpAliases++-- VVV Prop "https-aliases"+   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionHttpsAliases :: (MonadIO m, SessionK o) => o -> m [T.Text]+getSessionHttpsAliases obj = liftIO $ getObjectPropertyStringArray obj "https-aliases"++setSessionHttpsAliases :: (MonadIO m, SessionK o) => o -> [T.Text] -> m ()+setSessionHttpsAliases obj val = liftIO $ setObjectPropertyStringArray obj "https-aliases" val++constructSessionHttpsAliases :: [T.Text] -> IO ([Char], GValue)+constructSessionHttpsAliases val = constructObjectPropertyStringArray "https-aliases" val++data SessionHttpsAliasesPropertyInfo+instance AttrInfo SessionHttpsAliasesPropertyInfo where+    type AttrAllowedOps SessionHttpsAliasesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionHttpsAliasesPropertyInfo = (~) [T.Text]+    type AttrBaseTypeConstraint SessionHttpsAliasesPropertyInfo = SessionK+    type AttrGetType SessionHttpsAliasesPropertyInfo = [T.Text]+    type AttrLabel SessionHttpsAliasesPropertyInfo = "Session::https-aliases"+    attrGet _ = getSessionHttpsAliases+    attrSet _ = setSessionHttpsAliases+    attrConstruct _ = constructSessionHttpsAliases++-- VVV Prop "idle-timeout"+   -- Type: TBasicType TUInt32+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionIdleTimeout :: (MonadIO m, SessionK o) => o -> m Word32+getSessionIdleTimeout obj = liftIO $ getObjectPropertyCUInt obj "idle-timeout"++setSessionIdleTimeout :: (MonadIO m, SessionK o) => o -> Word32 -> m ()+setSessionIdleTimeout obj val = liftIO $ setObjectPropertyCUInt obj "idle-timeout" val++constructSessionIdleTimeout :: Word32 -> IO ([Char], GValue)+constructSessionIdleTimeout val = constructObjectPropertyCUInt "idle-timeout" val++data SessionIdleTimeoutPropertyInfo+instance AttrInfo SessionIdleTimeoutPropertyInfo where+    type AttrAllowedOps SessionIdleTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionIdleTimeoutPropertyInfo = (~) Word32+    type AttrBaseTypeConstraint SessionIdleTimeoutPropertyInfo = SessionK+    type AttrGetType SessionIdleTimeoutPropertyInfo = Word32+    type AttrLabel SessionIdleTimeoutPropertyInfo = "Session::idle-timeout"+    attrGet _ = getSessionIdleTimeout+    attrSet _ = setSessionIdleTimeout+    attrConstruct _ = constructSessionIdleTimeout++-- VVV Prop "local-address"+   -- Type: TInterface "Soup" "Address"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSessionLocalAddress :: (MonadIO m, SessionK o) => o -> m Address+getSessionLocalAddress obj = liftIO $ getObjectPropertyObject obj "local-address" Address++constructSessionLocalAddress :: (AddressK a) => a -> IO ([Char], GValue)+constructSessionLocalAddress val = constructObjectPropertyObject "local-address" val++data SessionLocalAddressPropertyInfo+instance AttrInfo SessionLocalAddressPropertyInfo where+    type AttrAllowedOps SessionLocalAddressPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionLocalAddressPropertyInfo = AddressK+    type AttrBaseTypeConstraint SessionLocalAddressPropertyInfo = SessionK+    type AttrGetType SessionLocalAddressPropertyInfo = Address+    type AttrLabel SessionLocalAddressPropertyInfo = "Session::local-address"+    attrGet _ = getSessionLocalAddress+    attrSet _ = undefined+    attrConstruct _ = constructSessionLocalAddress++-- VVV Prop "max-conns"+   -- Type: TBasicType TInt32+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionMaxConns :: (MonadIO m, SessionK o) => o -> m Int32+getSessionMaxConns obj = liftIO $ getObjectPropertyCInt obj "max-conns"++setSessionMaxConns :: (MonadIO m, SessionK o) => o -> Int32 -> m ()+setSessionMaxConns obj val = liftIO $ setObjectPropertyCInt obj "max-conns" val++constructSessionMaxConns :: Int32 -> IO ([Char], GValue)+constructSessionMaxConns val = constructObjectPropertyCInt "max-conns" val++data SessionMaxConnsPropertyInfo+instance AttrInfo SessionMaxConnsPropertyInfo where+    type AttrAllowedOps SessionMaxConnsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionMaxConnsPropertyInfo = (~) Int32+    type AttrBaseTypeConstraint SessionMaxConnsPropertyInfo = SessionK+    type AttrGetType SessionMaxConnsPropertyInfo = Int32+    type AttrLabel SessionMaxConnsPropertyInfo = "Session::max-conns"+    attrGet _ = getSessionMaxConns+    attrSet _ = setSessionMaxConns+    attrConstruct _ = constructSessionMaxConns++-- VVV Prop "max-conns-per-host"+   -- Type: TBasicType TInt32+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionMaxConnsPerHost :: (MonadIO m, SessionK o) => o -> m Int32+getSessionMaxConnsPerHost obj = liftIO $ getObjectPropertyCInt obj "max-conns-per-host"++setSessionMaxConnsPerHost :: (MonadIO m, SessionK o) => o -> Int32 -> m ()+setSessionMaxConnsPerHost obj val = liftIO $ setObjectPropertyCInt obj "max-conns-per-host" val++constructSessionMaxConnsPerHost :: Int32 -> IO ([Char], GValue)+constructSessionMaxConnsPerHost val = constructObjectPropertyCInt "max-conns-per-host" val++data SessionMaxConnsPerHostPropertyInfo+instance AttrInfo SessionMaxConnsPerHostPropertyInfo where+    type AttrAllowedOps SessionMaxConnsPerHostPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionMaxConnsPerHostPropertyInfo = (~) Int32+    type AttrBaseTypeConstraint SessionMaxConnsPerHostPropertyInfo = SessionK+    type AttrGetType SessionMaxConnsPerHostPropertyInfo = Int32+    type AttrLabel SessionMaxConnsPerHostPropertyInfo = "Session::max-conns-per-host"+    attrGet _ = getSessionMaxConnsPerHost+    attrSet _ = setSessionMaxConnsPerHost+    attrConstruct _ = constructSessionMaxConnsPerHost++-- VVV Prop "proxy-resolver"+   -- Type: TInterface "Gio" "ProxyResolver"+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionProxyResolver :: (MonadIO m, SessionK o) => o -> m Gio.ProxyResolver+getSessionProxyResolver obj = liftIO $ getObjectPropertyObject obj "proxy-resolver" Gio.ProxyResolver++setSessionProxyResolver :: (MonadIO m, SessionK o, Gio.ProxyResolverK a) => o -> a -> m ()+setSessionProxyResolver obj val = liftIO $ setObjectPropertyObject obj "proxy-resolver" val++constructSessionProxyResolver :: (Gio.ProxyResolverK a) => a -> IO ([Char], GValue)+constructSessionProxyResolver val = constructObjectPropertyObject "proxy-resolver" val++data SessionProxyResolverPropertyInfo+instance AttrInfo SessionProxyResolverPropertyInfo where+    type AttrAllowedOps SessionProxyResolverPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionProxyResolverPropertyInfo = Gio.ProxyResolverK+    type AttrBaseTypeConstraint SessionProxyResolverPropertyInfo = SessionK+    type AttrGetType SessionProxyResolverPropertyInfo = Gio.ProxyResolver+    type AttrLabel SessionProxyResolverPropertyInfo = "Session::proxy-resolver"+    attrGet _ = getSessionProxyResolver+    attrSet _ = setSessionProxyResolver+    attrConstruct _ = constructSessionProxyResolver++-- VVV Prop "proxy-uri"+   -- Type: TInterface "Soup" "URI"+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionProxyUri :: (MonadIO m, SessionK o) => o -> m URI+getSessionProxyUri obj = liftIO $ getObjectPropertyBoxed obj "proxy-uri" URI++setSessionProxyUri :: (MonadIO m, SessionK o) => o -> URI -> m ()+setSessionProxyUri obj val = liftIO $ setObjectPropertyBoxed obj "proxy-uri" val++constructSessionProxyUri :: URI -> IO ([Char], GValue)+constructSessionProxyUri val = constructObjectPropertyBoxed "proxy-uri" val++data SessionProxyUriPropertyInfo+instance AttrInfo SessionProxyUriPropertyInfo where+    type AttrAllowedOps SessionProxyUriPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionProxyUriPropertyInfo = (~) URI+    type AttrBaseTypeConstraint SessionProxyUriPropertyInfo = SessionK+    type AttrGetType SessionProxyUriPropertyInfo = URI+    type AttrLabel SessionProxyUriPropertyInfo = "Session::proxy-uri"+    attrGet _ = getSessionProxyUri+    attrSet _ = setSessionProxyUri+    attrConstruct _ = constructSessionProxyUri++-- VVV Prop "ssl-ca-file"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionSslCaFile :: (MonadIO m, SessionK o) => o -> m T.Text+getSessionSslCaFile obj = liftIO $ getObjectPropertyString obj "ssl-ca-file"++setSessionSslCaFile :: (MonadIO m, SessionK o) => o -> T.Text -> m ()+setSessionSslCaFile obj val = liftIO $ setObjectPropertyString obj "ssl-ca-file" val++constructSessionSslCaFile :: T.Text -> IO ([Char], GValue)+constructSessionSslCaFile val = constructObjectPropertyString "ssl-ca-file" val++data SessionSslCaFilePropertyInfo+instance AttrInfo SessionSslCaFilePropertyInfo where+    type AttrAllowedOps SessionSslCaFilePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionSslCaFilePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint SessionSslCaFilePropertyInfo = SessionK+    type AttrGetType SessionSslCaFilePropertyInfo = T.Text+    type AttrLabel SessionSslCaFilePropertyInfo = "Session::ssl-ca-file"+    attrGet _ = getSessionSslCaFile+    attrSet _ = setSessionSslCaFile+    attrConstruct _ = constructSessionSslCaFile++-- VVV Prop "ssl-strict"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionSslStrict :: (MonadIO m, SessionK o) => o -> m Bool+getSessionSslStrict obj = liftIO $ getObjectPropertyBool obj "ssl-strict"++setSessionSslStrict :: (MonadIO m, SessionK o) => o -> Bool -> m ()+setSessionSslStrict obj val = liftIO $ setObjectPropertyBool obj "ssl-strict" val++constructSessionSslStrict :: Bool -> IO ([Char], GValue)+constructSessionSslStrict val = constructObjectPropertyBool "ssl-strict" val++data SessionSslStrictPropertyInfo+instance AttrInfo SessionSslStrictPropertyInfo where+    type AttrAllowedOps SessionSslStrictPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionSslStrictPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SessionSslStrictPropertyInfo = SessionK+    type AttrGetType SessionSslStrictPropertyInfo = Bool+    type AttrLabel SessionSslStrictPropertyInfo = "Session::ssl-strict"+    attrGet _ = getSessionSslStrict+    attrSet _ = setSessionSslStrict+    attrConstruct _ = constructSessionSslStrict++-- VVV Prop "ssl-use-system-ca-file"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionSslUseSystemCaFile :: (MonadIO m, SessionK o) => o -> m Bool+getSessionSslUseSystemCaFile obj = liftIO $ getObjectPropertyBool obj "ssl-use-system-ca-file"++setSessionSslUseSystemCaFile :: (MonadIO m, SessionK o) => o -> Bool -> m ()+setSessionSslUseSystemCaFile obj val = liftIO $ setObjectPropertyBool obj "ssl-use-system-ca-file" val++constructSessionSslUseSystemCaFile :: Bool -> IO ([Char], GValue)+constructSessionSslUseSystemCaFile val = constructObjectPropertyBool "ssl-use-system-ca-file" val++data SessionSslUseSystemCaFilePropertyInfo+instance AttrInfo SessionSslUseSystemCaFilePropertyInfo where+    type AttrAllowedOps SessionSslUseSystemCaFilePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionSslUseSystemCaFilePropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SessionSslUseSystemCaFilePropertyInfo = SessionK+    type AttrGetType SessionSslUseSystemCaFilePropertyInfo = Bool+    type AttrLabel SessionSslUseSystemCaFilePropertyInfo = "Session::ssl-use-system-ca-file"+    attrGet _ = getSessionSslUseSystemCaFile+    attrSet _ = setSessionSslUseSystemCaFile+    attrConstruct _ = constructSessionSslUseSystemCaFile++-- VVV Prop "timeout"+   -- Type: TBasicType TUInt32+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionTimeout :: (MonadIO m, SessionK o) => o -> m Word32+getSessionTimeout obj = liftIO $ getObjectPropertyCUInt obj "timeout"++setSessionTimeout :: (MonadIO m, SessionK o) => o -> Word32 -> m ()+setSessionTimeout obj val = liftIO $ setObjectPropertyCUInt obj "timeout" val++constructSessionTimeout :: Word32 -> IO ([Char], GValue)+constructSessionTimeout val = constructObjectPropertyCUInt "timeout" val++data SessionTimeoutPropertyInfo+instance AttrInfo SessionTimeoutPropertyInfo where+    type AttrAllowedOps SessionTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionTimeoutPropertyInfo = (~) Word32+    type AttrBaseTypeConstraint SessionTimeoutPropertyInfo = SessionK+    type AttrGetType SessionTimeoutPropertyInfo = Word32+    type AttrLabel SessionTimeoutPropertyInfo = "Session::timeout"+    attrGet _ = getSessionTimeout+    attrSet _ = setSessionTimeout+    attrConstruct _ = constructSessionTimeout++-- VVV Prop "tls-database"+   -- Type: TInterface "Gio" "TlsDatabase"+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionTlsDatabase :: (MonadIO m, SessionK o) => o -> m Gio.TlsDatabase+getSessionTlsDatabase obj = liftIO $ getObjectPropertyObject obj "tls-database" Gio.TlsDatabase++setSessionTlsDatabase :: (MonadIO m, SessionK o, Gio.TlsDatabaseK a) => o -> a -> m ()+setSessionTlsDatabase obj val = liftIO $ setObjectPropertyObject obj "tls-database" val++constructSessionTlsDatabase :: (Gio.TlsDatabaseK a) => a -> IO ([Char], GValue)+constructSessionTlsDatabase val = constructObjectPropertyObject "tls-database" val++data SessionTlsDatabasePropertyInfo+instance AttrInfo SessionTlsDatabasePropertyInfo where+    type AttrAllowedOps SessionTlsDatabasePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionTlsDatabasePropertyInfo = Gio.TlsDatabaseK+    type AttrBaseTypeConstraint SessionTlsDatabasePropertyInfo = SessionK+    type AttrGetType SessionTlsDatabasePropertyInfo = Gio.TlsDatabase+    type AttrLabel SessionTlsDatabasePropertyInfo = "Session::tls-database"+    attrGet _ = getSessionTlsDatabase+    attrSet _ = setSessionTlsDatabase+    attrConstruct _ = constructSessionTlsDatabase++-- VVV Prop "tls-interaction"+   -- Type: TInterface "Gio" "TlsInteraction"+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionTlsInteraction :: (MonadIO m, SessionK o) => o -> m Gio.TlsInteraction+getSessionTlsInteraction obj = liftIO $ getObjectPropertyObject obj "tls-interaction" Gio.TlsInteraction++setSessionTlsInteraction :: (MonadIO m, SessionK o, Gio.TlsInteractionK a) => o -> a -> m ()+setSessionTlsInteraction obj val = liftIO $ setObjectPropertyObject obj "tls-interaction" val++constructSessionTlsInteraction :: (Gio.TlsInteractionK a) => a -> IO ([Char], GValue)+constructSessionTlsInteraction val = constructObjectPropertyObject "tls-interaction" val++data SessionTlsInteractionPropertyInfo+instance AttrInfo SessionTlsInteractionPropertyInfo where+    type AttrAllowedOps SessionTlsInteractionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionTlsInteractionPropertyInfo = Gio.TlsInteractionK+    type AttrBaseTypeConstraint SessionTlsInteractionPropertyInfo = SessionK+    type AttrGetType SessionTlsInteractionPropertyInfo = Gio.TlsInteraction+    type AttrLabel SessionTlsInteractionPropertyInfo = "Session::tls-interaction"+    attrGet _ = getSessionTlsInteraction+    attrSet _ = setSessionTlsInteraction+    attrConstruct _ = constructSessionTlsInteraction++-- VVV Prop "use-ntlm"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionUseNtlm :: (MonadIO m, SessionK o) => o -> m Bool+getSessionUseNtlm obj = liftIO $ getObjectPropertyBool obj "use-ntlm"++setSessionUseNtlm :: (MonadIO m, SessionK o) => o -> Bool -> m ()+setSessionUseNtlm obj val = liftIO $ setObjectPropertyBool obj "use-ntlm" val++constructSessionUseNtlm :: Bool -> IO ([Char], GValue)+constructSessionUseNtlm val = constructObjectPropertyBool "use-ntlm" val++data SessionUseNtlmPropertyInfo+instance AttrInfo SessionUseNtlmPropertyInfo where+    type AttrAllowedOps SessionUseNtlmPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionUseNtlmPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SessionUseNtlmPropertyInfo = SessionK+    type AttrGetType SessionUseNtlmPropertyInfo = Bool+    type AttrLabel SessionUseNtlmPropertyInfo = "Session::use-ntlm"+    attrGet _ = getSessionUseNtlm+    attrSet _ = setSessionUseNtlm+    attrConstruct _ = constructSessionUseNtlm++-- VVV Prop "use-thread-context"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionUseThreadContext :: (MonadIO m, SessionK o) => o -> m Bool+getSessionUseThreadContext obj = liftIO $ getObjectPropertyBool obj "use-thread-context"++setSessionUseThreadContext :: (MonadIO m, SessionK o) => o -> Bool -> m ()+setSessionUseThreadContext obj val = liftIO $ setObjectPropertyBool obj "use-thread-context" val++constructSessionUseThreadContext :: Bool -> IO ([Char], GValue)+constructSessionUseThreadContext val = constructObjectPropertyBool "use-thread-context" val++data SessionUseThreadContextPropertyInfo+instance AttrInfo SessionUseThreadContextPropertyInfo where+    type AttrAllowedOps SessionUseThreadContextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionUseThreadContextPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SessionUseThreadContextPropertyInfo = SessionK+    type AttrGetType SessionUseThreadContextPropertyInfo = Bool+    type AttrLabel SessionUseThreadContextPropertyInfo = "Session::use-thread-context"+    attrGet _ = getSessionUseThreadContext+    attrSet _ = setSessionUseThreadContext+    attrConstruct _ = constructSessionUseThreadContext++-- VVV Prop "user-agent"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable]++getSessionUserAgent :: (MonadIO m, SessionK o) => o -> m T.Text+getSessionUserAgent obj = liftIO $ getObjectPropertyString obj "user-agent"++setSessionUserAgent :: (MonadIO m, SessionK o) => o -> T.Text -> m ()+setSessionUserAgent obj val = liftIO $ setObjectPropertyString obj "user-agent" val++constructSessionUserAgent :: T.Text -> IO ([Char], GValue)+constructSessionUserAgent val = constructObjectPropertyString "user-agent" val++data SessionUserAgentPropertyInfo+instance AttrInfo SessionUserAgentPropertyInfo where+    type AttrAllowedOps SessionUserAgentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SessionUserAgentPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint SessionUserAgentPropertyInfo = SessionK+    type AttrGetType SessionUserAgentPropertyInfo = T.Text+    type AttrLabel SessionUserAgentPropertyInfo = "Session::user-agent"+    attrGet _ = getSessionUserAgent+    attrSet _ = setSessionUserAgent+    attrConstruct _ = constructSessionUserAgent++type instance AttributeList Session = '[ '("accept-language", SessionAcceptLanguagePropertyInfo), '("accept-language-auto", SessionAcceptLanguageAutoPropertyInfo), '("async-context", SessionAsyncContextPropertyInfo), '("http-aliases", SessionHttpAliasesPropertyInfo), '("https-aliases", SessionHttpsAliasesPropertyInfo), '("idle-timeout", SessionIdleTimeoutPropertyInfo), '("local-address", SessionLocalAddressPropertyInfo), '("max-conns", SessionMaxConnsPropertyInfo), '("max-conns-per-host", SessionMaxConnsPerHostPropertyInfo), '("proxy-resolver", SessionProxyResolverPropertyInfo), '("proxy-uri", SessionProxyUriPropertyInfo), '("ssl-ca-file", SessionSslCaFilePropertyInfo), '("ssl-strict", SessionSslStrictPropertyInfo), '("ssl-use-system-ca-file", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tls-database", SessionTlsDatabasePropertyInfo), '("tls-interaction", SessionTlsInteractionPropertyInfo), '("use-ntlm", SessionUseNtlmPropertyInfo), '("use-thread-context", SessionUseThreadContextPropertyInfo), '("user-agent", SessionUserAgentPropertyInfo)]++type instance AttributeList SessionAsync = '[ '("accept-language", SessionAcceptLanguagePropertyInfo), '("accept-language-auto", SessionAcceptLanguageAutoPropertyInfo), '("async-context", SessionAsyncContextPropertyInfo), '("http-aliases", SessionHttpAliasesPropertyInfo), '("https-aliases", SessionHttpsAliasesPropertyInfo), '("idle-timeout", SessionIdleTimeoutPropertyInfo), '("local-address", SessionLocalAddressPropertyInfo), '("max-conns", SessionMaxConnsPropertyInfo), '("max-conns-per-host", SessionMaxConnsPerHostPropertyInfo), '("proxy-resolver", SessionProxyResolverPropertyInfo), '("proxy-uri", SessionProxyUriPropertyInfo), '("ssl-ca-file", SessionSslCaFilePropertyInfo), '("ssl-strict", SessionSslStrictPropertyInfo), '("ssl-use-system-ca-file", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tls-database", SessionTlsDatabasePropertyInfo), '("tls-interaction", SessionTlsInteractionPropertyInfo), '("use-ntlm", SessionUseNtlmPropertyInfo), '("use-thread-context", SessionUseThreadContextPropertyInfo), '("user-agent", SessionUserAgentPropertyInfo)]++type instance AttributeList SessionFeature = '[ ]++type instance AttributeList SessionSync = '[ '("accept-language", SessionAcceptLanguagePropertyInfo), '("accept-language-auto", SessionAcceptLanguageAutoPropertyInfo), '("async-context", SessionAsyncContextPropertyInfo), '("http-aliases", SessionHttpAliasesPropertyInfo), '("https-aliases", SessionHttpsAliasesPropertyInfo), '("idle-timeout", SessionIdleTimeoutPropertyInfo), '("local-address", SessionLocalAddressPropertyInfo), '("max-conns", SessionMaxConnsPropertyInfo), '("max-conns-per-host", SessionMaxConnsPerHostPropertyInfo), '("proxy-resolver", SessionProxyResolverPropertyInfo), '("proxy-uri", SessionProxyUriPropertyInfo), '("ssl-ca-file", SessionSslCaFilePropertyInfo), '("ssl-strict", SessionSslStrictPropertyInfo), '("ssl-use-system-ca-file", SessionSslUseSystemCaFilePropertyInfo), '("timeout", SessionTimeoutPropertyInfo), '("tls-database", SessionTlsDatabasePropertyInfo), '("tls-interaction", SessionTlsInteractionPropertyInfo), '("use-ntlm", SessionUseNtlmPropertyInfo), '("use-thread-context", SessionUseThreadContextPropertyInfo), '("user-agent", SessionUserAgentPropertyInfo)]++-- VVV Prop "async-context"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSocketAsyncContext :: (MonadIO m, SocketK o) => o -> m (Ptr ())+getSocketAsyncContext obj = liftIO $ getObjectPropertyPtr obj "async-context"++constructSocketAsyncContext :: (Ptr ()) -> IO ([Char], GValue)+constructSocketAsyncContext val = constructObjectPropertyPtr "async-context" val++data SocketAsyncContextPropertyInfo+instance AttrInfo SocketAsyncContextPropertyInfo where+    type AttrAllowedOps SocketAsyncContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketAsyncContextPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint SocketAsyncContextPropertyInfo = SocketK+    type AttrGetType SocketAsyncContextPropertyInfo = (Ptr ())+    type AttrLabel SocketAsyncContextPropertyInfo = "Socket::async-context"+    attrGet _ = getSocketAsyncContext+    attrSet _ = undefined+    attrConstruct _ = constructSocketAsyncContext++-- VVV Prop "fd"+   -- Type: TBasicType TInt32+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSocketFd :: (MonadIO m, SocketK o) => o -> m Int32+getSocketFd obj = liftIO $ getObjectPropertyCInt obj "fd"++constructSocketFd :: Int32 -> IO ([Char], GValue)+constructSocketFd val = constructObjectPropertyCInt "fd" val++data SocketFdPropertyInfo+instance AttrInfo SocketFdPropertyInfo where+    type AttrAllowedOps SocketFdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketFdPropertyInfo = (~) Int32+    type AttrBaseTypeConstraint SocketFdPropertyInfo = SocketK+    type AttrGetType SocketFdPropertyInfo = Int32+    type AttrLabel SocketFdPropertyInfo = "Socket::fd"+    attrGet _ = getSocketFd+    attrSet _ = undefined+    attrConstruct _ = constructSocketFd++-- VVV Prop "gsocket"+   -- Type: TInterface "Gio" "Socket"+   -- Flags: [PropertyWritable,PropertyConstructOnly]++constructSocketGsocket :: (Gio.SocketK a) => a -> IO ([Char], GValue)+constructSocketGsocket val = constructObjectPropertyObject "gsocket" val++data SocketGsocketPropertyInfo+instance AttrInfo SocketGsocketPropertyInfo where+    type AttrAllowedOps SocketGsocketPropertyInfo = '[ 'AttrConstruct]+    type AttrSetTypeConstraint SocketGsocketPropertyInfo = Gio.SocketK+    type AttrBaseTypeConstraint SocketGsocketPropertyInfo = SocketK+    type AttrGetType SocketGsocketPropertyInfo = ()+    type AttrLabel SocketGsocketPropertyInfo = "Socket::gsocket"+    attrGet _ = undefined+    attrSet _ = undefined+    attrConstruct _ = constructSocketGsocket++-- VVV Prop "iostream"+   -- Type: TInterface "Gio" "IOStream"+   -- Flags: [PropertyWritable,PropertyConstructOnly]++constructSocketIostream :: (Gio.IOStreamK a) => a -> IO ([Char], GValue)+constructSocketIostream val = constructObjectPropertyObject "iostream" val++data SocketIostreamPropertyInfo+instance AttrInfo SocketIostreamPropertyInfo where+    type AttrAllowedOps SocketIostreamPropertyInfo = '[ 'AttrConstruct]+    type AttrSetTypeConstraint SocketIostreamPropertyInfo = Gio.IOStreamK+    type AttrBaseTypeConstraint SocketIostreamPropertyInfo = SocketK+    type AttrGetType SocketIostreamPropertyInfo = ()+    type AttrLabel SocketIostreamPropertyInfo = "Socket::iostream"+    attrGet _ = undefined+    attrSet _ = undefined+    attrConstruct _ = constructSocketIostream++-- VVV Prop "ipv6-only"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]++getSocketIpv6Only :: (MonadIO m, SocketK o) => o -> m Bool+getSocketIpv6Only obj = liftIO $ getObjectPropertyBool obj "ipv6-only"++setSocketIpv6Only :: (MonadIO m, SocketK o) => o -> Bool -> m ()+setSocketIpv6Only obj val = liftIO $ setObjectPropertyBool obj "ipv6-only" val++constructSocketIpv6Only :: Bool -> IO ([Char], GValue)+constructSocketIpv6Only val = constructObjectPropertyBool "ipv6-only" val++data SocketIpv6OnlyPropertyInfo+instance AttrInfo SocketIpv6OnlyPropertyInfo where+    type AttrAllowedOps SocketIpv6OnlyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketIpv6OnlyPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SocketIpv6OnlyPropertyInfo = SocketK+    type AttrGetType SocketIpv6OnlyPropertyInfo = Bool+    type AttrLabel SocketIpv6OnlyPropertyInfo = "Socket::ipv6-only"+    attrGet _ = getSocketIpv6Only+    attrSet _ = setSocketIpv6Only+    attrConstruct _ = constructSocketIpv6Only++-- VVV Prop "is-server"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable]++getSocketIsServer :: (MonadIO m, SocketK o) => o -> m Bool+getSocketIsServer obj = liftIO $ getObjectPropertyBool obj "is-server"++data SocketIsServerPropertyInfo+instance AttrInfo SocketIsServerPropertyInfo where+    type AttrAllowedOps SocketIsServerPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint SocketIsServerPropertyInfo = (~) ()+    type AttrBaseTypeConstraint SocketIsServerPropertyInfo = SocketK+    type AttrGetType SocketIsServerPropertyInfo = Bool+    type AttrLabel SocketIsServerPropertyInfo = "Socket::is-server"+    attrGet _ = getSocketIsServer+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "local-address"+   -- Type: TInterface "Soup" "Address"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSocketLocalAddress :: (MonadIO m, SocketK o) => o -> m Address+getSocketLocalAddress obj = liftIO $ getObjectPropertyObject obj "local-address" Address++constructSocketLocalAddress :: (AddressK a) => a -> IO ([Char], GValue)+constructSocketLocalAddress val = constructObjectPropertyObject "local-address" val++data SocketLocalAddressPropertyInfo+instance AttrInfo SocketLocalAddressPropertyInfo where+    type AttrAllowedOps SocketLocalAddressPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketLocalAddressPropertyInfo = AddressK+    type AttrBaseTypeConstraint SocketLocalAddressPropertyInfo = SocketK+    type AttrGetType SocketLocalAddressPropertyInfo = Address+    type AttrLabel SocketLocalAddressPropertyInfo = "Socket::local-address"+    attrGet _ = getSocketLocalAddress+    attrSet _ = undefined+    attrConstruct _ = constructSocketLocalAddress++-- VVV Prop "non-blocking"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable]++getSocketNonBlocking :: (MonadIO m, SocketK o) => o -> m Bool+getSocketNonBlocking obj = liftIO $ getObjectPropertyBool obj "non-blocking"++setSocketNonBlocking :: (MonadIO m, SocketK o) => o -> Bool -> m ()+setSocketNonBlocking obj val = liftIO $ setObjectPropertyBool obj "non-blocking" val++constructSocketNonBlocking :: Bool -> IO ([Char], GValue)+constructSocketNonBlocking val = constructObjectPropertyBool "non-blocking" val++data SocketNonBlockingPropertyInfo+instance AttrInfo SocketNonBlockingPropertyInfo where+    type AttrAllowedOps SocketNonBlockingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketNonBlockingPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SocketNonBlockingPropertyInfo = SocketK+    type AttrGetType SocketNonBlockingPropertyInfo = Bool+    type AttrLabel SocketNonBlockingPropertyInfo = "Socket::non-blocking"+    attrGet _ = getSocketNonBlocking+    attrSet _ = setSocketNonBlocking+    attrConstruct _ = constructSocketNonBlocking++-- VVV Prop "remote-address"+   -- Type: TInterface "Soup" "Address"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSocketRemoteAddress :: (MonadIO m, SocketK o) => o -> m Address+getSocketRemoteAddress obj = liftIO $ getObjectPropertyObject obj "remote-address" Address++constructSocketRemoteAddress :: (AddressK a) => a -> IO ([Char], GValue)+constructSocketRemoteAddress val = constructObjectPropertyObject "remote-address" val++data SocketRemoteAddressPropertyInfo+instance AttrInfo SocketRemoteAddressPropertyInfo where+    type AttrAllowedOps SocketRemoteAddressPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketRemoteAddressPropertyInfo = AddressK+    type AttrBaseTypeConstraint SocketRemoteAddressPropertyInfo = SocketK+    type AttrGetType SocketRemoteAddressPropertyInfo = Address+    type AttrLabel SocketRemoteAddressPropertyInfo = "Socket::remote-address"+    attrGet _ = getSocketRemoteAddress+    attrSet _ = undefined+    attrConstruct _ = constructSocketRemoteAddress++-- VVV Prop "ssl-creds"+   -- Type: TBasicType TVoid+   -- Flags: [PropertyReadable,PropertyWritable]++getSocketSslCreds :: (MonadIO m, SocketK o) => o -> m (Ptr ())+getSocketSslCreds obj = liftIO $ getObjectPropertyPtr obj "ssl-creds"++setSocketSslCreds :: (MonadIO m, SocketK o) => o -> (Ptr ()) -> m ()+setSocketSslCreds obj val = liftIO $ setObjectPropertyPtr obj "ssl-creds" val++constructSocketSslCreds :: (Ptr ()) -> IO ([Char], GValue)+constructSocketSslCreds val = constructObjectPropertyPtr "ssl-creds" val++data SocketSslCredsPropertyInfo+instance AttrInfo SocketSslCredsPropertyInfo where+    type AttrAllowedOps SocketSslCredsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketSslCredsPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint SocketSslCredsPropertyInfo = SocketK+    type AttrGetType SocketSslCredsPropertyInfo = (Ptr ())+    type AttrLabel SocketSslCredsPropertyInfo = "Socket::ssl-creds"+    attrGet _ = getSocketSslCreds+    attrSet _ = setSocketSslCreds+    attrConstruct _ = constructSocketSslCreds++-- VVV Prop "ssl-fallback"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSocketSslFallback :: (MonadIO m, SocketK o) => o -> m Bool+getSocketSslFallback obj = liftIO $ getObjectPropertyBool obj "ssl-fallback"++constructSocketSslFallback :: Bool -> IO ([Char], GValue)+constructSocketSslFallback val = constructObjectPropertyBool "ssl-fallback" val++data SocketSslFallbackPropertyInfo+instance AttrInfo SocketSslFallbackPropertyInfo where+    type AttrAllowedOps SocketSslFallbackPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketSslFallbackPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SocketSslFallbackPropertyInfo = SocketK+    type AttrGetType SocketSslFallbackPropertyInfo = Bool+    type AttrLabel SocketSslFallbackPropertyInfo = "Socket::ssl-fallback"+    attrGet _ = getSocketSslFallback+    attrSet _ = undefined+    attrConstruct _ = constructSocketSslFallback++-- VVV Prop "ssl-strict"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSocketSslStrict :: (MonadIO m, SocketK o) => o -> m Bool+getSocketSslStrict obj = liftIO $ getObjectPropertyBool obj "ssl-strict"++constructSocketSslStrict :: Bool -> IO ([Char], GValue)+constructSocketSslStrict val = constructObjectPropertyBool "ssl-strict" val++data SocketSslStrictPropertyInfo+instance AttrInfo SocketSslStrictPropertyInfo where+    type AttrAllowedOps SocketSslStrictPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketSslStrictPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SocketSslStrictPropertyInfo = SocketK+    type AttrGetType SocketSslStrictPropertyInfo = Bool+    type AttrLabel SocketSslStrictPropertyInfo = "Socket::ssl-strict"+    attrGet _ = getSocketSslStrict+    attrSet _ = undefined+    attrConstruct _ = constructSocketSslStrict++-- VVV Prop "timeout"+   -- Type: TBasicType TUInt32+   -- Flags: [PropertyReadable,PropertyWritable]++getSocketTimeout :: (MonadIO m, SocketK o) => o -> m Word32+getSocketTimeout obj = liftIO $ getObjectPropertyCUInt obj "timeout"++setSocketTimeout :: (MonadIO m, SocketK o) => o -> Word32 -> m ()+setSocketTimeout obj val = liftIO $ setObjectPropertyCUInt obj "timeout" val++constructSocketTimeout :: Word32 -> IO ([Char], GValue)+constructSocketTimeout val = constructObjectPropertyCUInt "timeout" val++data SocketTimeoutPropertyInfo+instance AttrInfo SocketTimeoutPropertyInfo where+    type AttrAllowedOps SocketTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketTimeoutPropertyInfo = (~) Word32+    type AttrBaseTypeConstraint SocketTimeoutPropertyInfo = SocketK+    type AttrGetType SocketTimeoutPropertyInfo = Word32+    type AttrLabel SocketTimeoutPropertyInfo = "Socket::timeout"+    attrGet _ = getSocketTimeout+    attrSet _ = setSocketTimeout+    attrConstruct _ = constructSocketTimeout++-- VVV Prop "tls-certificate"+   -- Type: TInterface "Gio" "TlsCertificate"+   -- Flags: [PropertyReadable]++getSocketTlsCertificate :: (MonadIO m, SocketK o) => o -> m Gio.TlsCertificate+getSocketTlsCertificate obj = liftIO $ getObjectPropertyObject obj "tls-certificate" Gio.TlsCertificate++data SocketTlsCertificatePropertyInfo+instance AttrInfo SocketTlsCertificatePropertyInfo where+    type AttrAllowedOps SocketTlsCertificatePropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint SocketTlsCertificatePropertyInfo = (~) ()+    type AttrBaseTypeConstraint SocketTlsCertificatePropertyInfo = SocketK+    type AttrGetType SocketTlsCertificatePropertyInfo = Gio.TlsCertificate+    type AttrLabel SocketTlsCertificatePropertyInfo = "Socket::tls-certificate"+    attrGet _ = getSocketTlsCertificate+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "tls-errors"+   -- Type: TInterface "Gio" "TlsCertificateFlags"+   -- Flags: [PropertyReadable]++getSocketTlsErrors :: (MonadIO m, SocketK o) => o -> m [Gio.TlsCertificateFlags]+getSocketTlsErrors obj = liftIO $ getObjectPropertyFlags obj "tls-errors"++data SocketTlsErrorsPropertyInfo+instance AttrInfo SocketTlsErrorsPropertyInfo where+    type AttrAllowedOps SocketTlsErrorsPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint SocketTlsErrorsPropertyInfo = (~) ()+    type AttrBaseTypeConstraint SocketTlsErrorsPropertyInfo = SocketK+    type AttrGetType SocketTlsErrorsPropertyInfo = [Gio.TlsCertificateFlags]+    type AttrLabel SocketTlsErrorsPropertyInfo = "Socket::tls-errors"+    attrGet _ = getSocketTlsErrors+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "trusted-certificate"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable]++getSocketTrustedCertificate :: (MonadIO m, SocketK o) => o -> m Bool+getSocketTrustedCertificate obj = liftIO $ getObjectPropertyBool obj "trusted-certificate"++data SocketTrustedCertificatePropertyInfo+instance AttrInfo SocketTrustedCertificatePropertyInfo where+    type AttrAllowedOps SocketTrustedCertificatePropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint SocketTrustedCertificatePropertyInfo = (~) ()+    type AttrBaseTypeConstraint SocketTrustedCertificatePropertyInfo = SocketK+    type AttrGetType SocketTrustedCertificatePropertyInfo = Bool+    type AttrLabel SocketTrustedCertificatePropertyInfo = "Socket::trusted-certificate"+    attrGet _ = getSocketTrustedCertificate+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "use-thread-context"+   -- Type: TBasicType TBoolean+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getSocketUseThreadContext :: (MonadIO m, SocketK o) => o -> m Bool+getSocketUseThreadContext obj = liftIO $ getObjectPropertyBool obj "use-thread-context"++constructSocketUseThreadContext :: Bool -> IO ([Char], GValue)+constructSocketUseThreadContext val = constructObjectPropertyBool "use-thread-context" val++data SocketUseThreadContextPropertyInfo+instance AttrInfo SocketUseThreadContextPropertyInfo where+    type AttrAllowedOps SocketUseThreadContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SocketUseThreadContextPropertyInfo = (~) Bool+    type AttrBaseTypeConstraint SocketUseThreadContextPropertyInfo = SocketK+    type AttrGetType SocketUseThreadContextPropertyInfo = Bool+    type AttrLabel SocketUseThreadContextPropertyInfo = "Socket::use-thread-context"+    attrGet _ = getSocketUseThreadContext+    attrSet _ = undefined+    attrConstruct _ = constructSocketUseThreadContext++type instance AttributeList Socket = '[ '("async-context", SocketAsyncContextPropertyInfo), '("fd", SocketFdPropertyInfo), '("gsocket", SocketGsocketPropertyInfo), '("iostream", SocketIostreamPropertyInfo), '("ipv6-only", SocketIpv6OnlyPropertyInfo), '("is-server", SocketIsServerPropertyInfo), '("local-address", SocketLocalAddressPropertyInfo), '("non-blocking", SocketNonBlockingPropertyInfo), '("remote-address", SocketRemoteAddressPropertyInfo), '("ssl-creds", SocketSslCredsPropertyInfo), '("ssl-fallback", SocketSslFallbackPropertyInfo), '("ssl-strict", SocketSslStrictPropertyInfo), '("timeout", SocketTimeoutPropertyInfo), '("tls-certificate", SocketTlsCertificatePropertyInfo), '("tls-errors", SocketTlsErrorsPropertyInfo), '("trusted-certificate", SocketTrustedCertificatePropertyInfo), '("use-thread-context", SocketUseThreadContextPropertyInfo)]++-- VVV Prop "connection-type"+   -- Type: TInterface "Soup" "WebsocketConnectionType"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getWebsocketConnectionConnectionType :: (MonadIO m, WebsocketConnectionK o) => o -> m WebsocketConnectionType+getWebsocketConnectionConnectionType obj = liftIO $ getObjectPropertyEnum obj "connection-type"++constructWebsocketConnectionConnectionType :: WebsocketConnectionType -> IO ([Char], GValue)+constructWebsocketConnectionConnectionType val = constructObjectPropertyEnum "connection-type" val++data WebsocketConnectionConnectionTypePropertyInfo+instance AttrInfo WebsocketConnectionConnectionTypePropertyInfo where+    type AttrAllowedOps WebsocketConnectionConnectionTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint WebsocketConnectionConnectionTypePropertyInfo = (~) WebsocketConnectionType+    type AttrBaseTypeConstraint WebsocketConnectionConnectionTypePropertyInfo = WebsocketConnectionK+    type AttrGetType WebsocketConnectionConnectionTypePropertyInfo = WebsocketConnectionType+    type AttrLabel WebsocketConnectionConnectionTypePropertyInfo = "WebsocketConnection::connection-type"+    attrGet _ = getWebsocketConnectionConnectionType+    attrSet _ = undefined+    attrConstruct _ = constructWebsocketConnectionConnectionType++-- VVV Prop "io-stream"+   -- Type: TInterface "Gio" "IOStream"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getWebsocketConnectionIoStream :: (MonadIO m, WebsocketConnectionK o) => o -> m Gio.IOStream+getWebsocketConnectionIoStream obj = liftIO $ getObjectPropertyObject obj "io-stream" Gio.IOStream++constructWebsocketConnectionIoStream :: (Gio.IOStreamK a) => a -> IO ([Char], GValue)+constructWebsocketConnectionIoStream val = constructObjectPropertyObject "io-stream" val++data WebsocketConnectionIoStreamPropertyInfo+instance AttrInfo WebsocketConnectionIoStreamPropertyInfo where+    type AttrAllowedOps WebsocketConnectionIoStreamPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint WebsocketConnectionIoStreamPropertyInfo = Gio.IOStreamK+    type AttrBaseTypeConstraint WebsocketConnectionIoStreamPropertyInfo = WebsocketConnectionK+    type AttrGetType WebsocketConnectionIoStreamPropertyInfo = Gio.IOStream+    type AttrLabel WebsocketConnectionIoStreamPropertyInfo = "WebsocketConnection::io-stream"+    attrGet _ = getWebsocketConnectionIoStream+    attrSet _ = undefined+    attrConstruct _ = constructWebsocketConnectionIoStream++-- VVV Prop "origin"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getWebsocketConnectionOrigin :: (MonadIO m, WebsocketConnectionK o) => o -> m T.Text+getWebsocketConnectionOrigin obj = liftIO $ getObjectPropertyString obj "origin"++constructWebsocketConnectionOrigin :: T.Text -> IO ([Char], GValue)+constructWebsocketConnectionOrigin val = constructObjectPropertyString "origin" val++data WebsocketConnectionOriginPropertyInfo+instance AttrInfo WebsocketConnectionOriginPropertyInfo where+    type AttrAllowedOps WebsocketConnectionOriginPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint WebsocketConnectionOriginPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint WebsocketConnectionOriginPropertyInfo = WebsocketConnectionK+    type AttrGetType WebsocketConnectionOriginPropertyInfo = T.Text+    type AttrLabel WebsocketConnectionOriginPropertyInfo = "WebsocketConnection::origin"+    attrGet _ = getWebsocketConnectionOrigin+    attrSet _ = undefined+    attrConstruct _ = constructWebsocketConnectionOrigin++-- VVV Prop "protocol"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getWebsocketConnectionProtocol :: (MonadIO m, WebsocketConnectionK o) => o -> m T.Text+getWebsocketConnectionProtocol obj = liftIO $ getObjectPropertyString obj "protocol"++constructWebsocketConnectionProtocol :: T.Text -> IO ([Char], GValue)+constructWebsocketConnectionProtocol val = constructObjectPropertyString "protocol" val++data WebsocketConnectionProtocolPropertyInfo+instance AttrInfo WebsocketConnectionProtocolPropertyInfo where+    type AttrAllowedOps WebsocketConnectionProtocolPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint WebsocketConnectionProtocolPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint WebsocketConnectionProtocolPropertyInfo = WebsocketConnectionK+    type AttrGetType WebsocketConnectionProtocolPropertyInfo = T.Text+    type AttrLabel WebsocketConnectionProtocolPropertyInfo = "WebsocketConnection::protocol"+    attrGet _ = getWebsocketConnectionProtocol+    attrSet _ = undefined+    attrConstruct _ = constructWebsocketConnectionProtocol++-- VVV Prop "state"+   -- Type: TInterface "Soup" "WebsocketState"+   -- Flags: [PropertyReadable]++getWebsocketConnectionState :: (MonadIO m, WebsocketConnectionK o) => o -> m WebsocketState+getWebsocketConnectionState obj = liftIO $ getObjectPropertyEnum obj "state"++data WebsocketConnectionStatePropertyInfo+instance AttrInfo WebsocketConnectionStatePropertyInfo where+    type AttrAllowedOps WebsocketConnectionStatePropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint WebsocketConnectionStatePropertyInfo = (~) ()+    type AttrBaseTypeConstraint WebsocketConnectionStatePropertyInfo = WebsocketConnectionK+    type AttrGetType WebsocketConnectionStatePropertyInfo = WebsocketState+    type AttrLabel WebsocketConnectionStatePropertyInfo = "WebsocketConnection::state"+    attrGet _ = getWebsocketConnectionState+    attrSet _ = undefined+    attrConstruct _ = undefined++-- VVV Prop "uri"+   -- Type: TInterface "Soup" "URI"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getWebsocketConnectionUri :: (MonadIO m, WebsocketConnectionK o) => o -> m URI+getWebsocketConnectionUri obj = liftIO $ getObjectPropertyBoxed obj "uri" URI++constructWebsocketConnectionUri :: URI -> IO ([Char], GValue)+constructWebsocketConnectionUri val = constructObjectPropertyBoxed "uri" val++data WebsocketConnectionUriPropertyInfo+instance AttrInfo WebsocketConnectionUriPropertyInfo where+    type AttrAllowedOps WebsocketConnectionUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint WebsocketConnectionUriPropertyInfo = (~) URI+    type AttrBaseTypeConstraint WebsocketConnectionUriPropertyInfo = WebsocketConnectionK+    type AttrGetType WebsocketConnectionUriPropertyInfo = URI+    type AttrLabel WebsocketConnectionUriPropertyInfo = "WebsocketConnection::uri"+    attrGet _ = getWebsocketConnectionUri+    attrSet _ = undefined+    attrConstruct _ = constructWebsocketConnectionUri++type instance AttributeList WebsocketConnection = '[ '("connection-type", WebsocketConnectionConnectionTypePropertyInfo), '("io-stream", WebsocketConnectionIoStreamPropertyInfo), '("origin", WebsocketConnectionOriginPropertyInfo), '("protocol", WebsocketConnectionProtocolPropertyInfo), '("state", WebsocketConnectionStatePropertyInfo), '("uri", WebsocketConnectionUriPropertyInfo)]+
+ GI/SoupSignals.hs view
@@ -0,0 +1,258 @@+-- Generated code.++{-# OPTIONS_GHC -fno-warn-orphans #-}++{-# LANGUAGE DataKinds,    FlexibleInstances,+             TypeFamilies, MultiParamTypeClasses,+               TypeOperators #-}++module GI.SoupSignals where++import Data.GI.Base.Properties (GObjectNotifySignalInfo)+import Data.GI.Base.Signals+import Data.GI.Base.Overloading++import qualified GI.GObjectSignals as GObject+import GI.Soup++type instance SignalList Address = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList Auth = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList AuthBasic = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList AuthDigest = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList AuthDomain = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList AuthDomainBasic = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList AuthDomainDigest = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data AuthManagerAuthenticateSignalInfo+instance SignalInfo AuthManagerAuthenticateSignalInfo where+    type HaskellCallbackType AuthManagerAuthenticateSignalInfo = AuthManagerAuthenticateCallback+    connectSignal _ = connectAuthManagerAuthenticate++type instance SignalList AuthManager = '[ '("authenticate", AuthManagerAuthenticateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList AuthNTLM = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList Cache = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList ContentDecoder = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList ContentSniffer = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data CookieJarChangedSignalInfo+instance SignalInfo CookieJarChangedSignalInfo where+    type HaskellCallbackType CookieJarChangedSignalInfo = CookieJarChangedCallback+    connectSignal _ = connectCookieJarChanged++type instance SignalList CookieJar = '[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList CookieJarDB = '[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList CookieJarText = '[ '("changed", CookieJarChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList Logger = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data MessageContentSniffedSignalInfo+instance SignalInfo MessageContentSniffedSignalInfo where+    type HaskellCallbackType MessageContentSniffedSignalInfo = MessageContentSniffedCallback+    connectSignal _ = connectMessageContentSniffed++data MessageFinishedSignalInfo+instance SignalInfo MessageFinishedSignalInfo where+    type HaskellCallbackType MessageFinishedSignalInfo = MessageFinishedCallback+    connectSignal _ = connectMessageFinished++data MessageGotBodySignalInfo+instance SignalInfo MessageGotBodySignalInfo where+    type HaskellCallbackType MessageGotBodySignalInfo = MessageGotBodyCallback+    connectSignal _ = connectMessageGotBody++data MessageGotChunkSignalInfo+instance SignalInfo MessageGotChunkSignalInfo where+    type HaskellCallbackType MessageGotChunkSignalInfo = MessageGotChunkCallback+    connectSignal _ = connectMessageGotChunk++data MessageGotHeadersSignalInfo+instance SignalInfo MessageGotHeadersSignalInfo where+    type HaskellCallbackType MessageGotHeadersSignalInfo = MessageGotHeadersCallback+    connectSignal _ = connectMessageGotHeaders++data MessageGotInformationalSignalInfo+instance SignalInfo MessageGotInformationalSignalInfo where+    type HaskellCallbackType MessageGotInformationalSignalInfo = MessageGotInformationalCallback+    connectSignal _ = connectMessageGotInformational++data MessageNetworkEventSignalInfo+instance SignalInfo MessageNetworkEventSignalInfo where+    type HaskellCallbackType MessageNetworkEventSignalInfo = MessageNetworkEventCallback+    connectSignal _ = connectMessageNetworkEvent++data MessageRestartedSignalInfo+instance SignalInfo MessageRestartedSignalInfo where+    type HaskellCallbackType MessageRestartedSignalInfo = MessageRestartedCallback+    connectSignal _ = connectMessageRestarted++data MessageStartingSignalInfo+instance SignalInfo MessageStartingSignalInfo where+    type HaskellCallbackType MessageStartingSignalInfo = MessageStartingCallback+    connectSignal _ = connectMessageStarting++data MessageWroteBodySignalInfo+instance SignalInfo MessageWroteBodySignalInfo where+    type HaskellCallbackType MessageWroteBodySignalInfo = MessageWroteBodyCallback+    connectSignal _ = connectMessageWroteBody++data MessageWroteBodyDataSignalInfo+instance SignalInfo MessageWroteBodyDataSignalInfo where+    type HaskellCallbackType MessageWroteBodyDataSignalInfo = MessageWroteBodyDataCallback+    connectSignal _ = connectMessageWroteBodyData++data MessageWroteChunkSignalInfo+instance SignalInfo MessageWroteChunkSignalInfo where+    type HaskellCallbackType MessageWroteChunkSignalInfo = MessageWroteChunkCallback+    connectSignal _ = connectMessageWroteChunk++data MessageWroteHeadersSignalInfo+instance SignalInfo MessageWroteHeadersSignalInfo where+    type HaskellCallbackType MessageWroteHeadersSignalInfo = MessageWroteHeadersCallback+    connectSignal _ = connectMessageWroteHeaders++data MessageWroteInformationalSignalInfo+instance SignalInfo MessageWroteInformationalSignalInfo where+    type HaskellCallbackType MessageWroteInformationalSignalInfo = MessageWroteInformationalCallback+    connectSignal _ = connectMessageWroteInformational++type instance SignalList Message = '[ '("content-sniffed", MessageContentSniffedSignalInfo), '("finished", MessageFinishedSignalInfo), '("got-body", MessageGotBodySignalInfo), '("got-chunk", MessageGotChunkSignalInfo), '("got-headers", MessageGotHeadersSignalInfo), '("got-informational", MessageGotInformationalSignalInfo), '("network-event", MessageNetworkEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("restarted", MessageRestartedSignalInfo), '("starting", MessageStartingSignalInfo), '("wrote-body", MessageWroteBodySignalInfo), '("wrote-body-data", MessageWroteBodyDataSignalInfo), '("wrote-chunk", MessageWroteChunkSignalInfo), '("wrote-headers", MessageWroteHeadersSignalInfo), '("wrote-informational", MessageWroteInformationalSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList MultipartInputStream = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList PasswordManager = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList ProxyResolverDefault = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList ProxyURIResolver = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList Request = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList RequestData = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList RequestFile = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList RequestHTTP = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList Requester = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data ServerRequestAbortedSignalInfo+instance SignalInfo ServerRequestAbortedSignalInfo where+    type HaskellCallbackType ServerRequestAbortedSignalInfo = ServerRequestAbortedCallback+    connectSignal _ = connectServerRequestAborted++data ServerRequestFinishedSignalInfo+instance SignalInfo ServerRequestFinishedSignalInfo where+    type HaskellCallbackType ServerRequestFinishedSignalInfo = ServerRequestFinishedCallback+    connectSignal _ = connectServerRequestFinished++data ServerRequestReadSignalInfo+instance SignalInfo ServerRequestReadSignalInfo where+    type HaskellCallbackType ServerRequestReadSignalInfo = ServerRequestReadCallback+    connectSignal _ = connectServerRequestRead++data ServerRequestStartedSignalInfo+instance SignalInfo ServerRequestStartedSignalInfo where+    type HaskellCallbackType ServerRequestStartedSignalInfo = ServerRequestStartedCallback+    connectSignal _ = connectServerRequestStarted++type instance SignalList Server = '[ '("notify", GObject.ObjectNotifySignalInfo), '("request-aborted", ServerRequestAbortedSignalInfo), '("request-finished", ServerRequestFinishedSignalInfo), '("request-read", ServerRequestReadSignalInfo), '("request-started", ServerRequestStartedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data SessionAuthenticateSignalInfo+instance SignalInfo SessionAuthenticateSignalInfo where+    type HaskellCallbackType SessionAuthenticateSignalInfo = SessionAuthenticateCallback+    connectSignal _ = connectSessionAuthenticate++data SessionConnectionCreatedSignalInfo+instance SignalInfo SessionConnectionCreatedSignalInfo where+    type HaskellCallbackType SessionConnectionCreatedSignalInfo = SessionConnectionCreatedCallback+    connectSignal _ = connectSessionConnectionCreated++data SessionRequestQueuedSignalInfo+instance SignalInfo SessionRequestQueuedSignalInfo where+    type HaskellCallbackType SessionRequestQueuedSignalInfo = SessionRequestQueuedCallback+    connectSignal _ = connectSessionRequestQueued++data SessionRequestStartedSignalInfo+instance SignalInfo SessionRequestStartedSignalInfo where+    type HaskellCallbackType SessionRequestStartedSignalInfo = SessionRequestStartedCallback+    connectSignal _ = connectSessionRequestStarted++data SessionRequestUnqueuedSignalInfo+instance SignalInfo SessionRequestUnqueuedSignalInfo where+    type HaskellCallbackType SessionRequestUnqueuedSignalInfo = SessionRequestUnqueuedCallback+    connectSignal _ = connectSessionRequestUnqueued++data SessionTunnelingSignalInfo+instance SignalInfo SessionTunnelingSignalInfo where+    type HaskellCallbackType SessionTunnelingSignalInfo = SessionTunnelingCallback+    connectSignal _ = connectSessionTunneling++type instance SignalList Session = '[ '("authenticate", SessionAuthenticateSignalInfo), '("connection-created", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("request-queued", SessionRequestQueuedSignalInfo), '("request-started", SessionRequestStartedSignalInfo), '("request-unqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList SessionAsync = '[ '("authenticate", SessionAuthenticateSignalInfo), '("connection-created", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("request-queued", SessionRequestQueuedSignalInfo), '("request-started", SessionRequestStartedSignalInfo), '("request-unqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList SessionFeature = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++type instance SignalList SessionSync = '[ '("authenticate", SessionAuthenticateSignalInfo), '("connection-created", SessionConnectionCreatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("request-queued", SessionRequestQueuedSignalInfo), '("request-started", SessionRequestStartedSignalInfo), '("request-unqueued", SessionRequestUnqueuedSignalInfo), '("tunneling", SessionTunnelingSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data SocketDisconnectedSignalInfo+instance SignalInfo SocketDisconnectedSignalInfo where+    type HaskellCallbackType SocketDisconnectedSignalInfo = SocketDisconnectedCallback+    connectSignal _ = connectSocketDisconnected++data SocketEventSignalInfo+instance SignalInfo SocketEventSignalInfo where+    type HaskellCallbackType SocketEventSignalInfo = SocketEventCallback+    connectSignal _ = connectSocketEvent++data SocketNewConnectionSignalInfo+instance SignalInfo SocketNewConnectionSignalInfo where+    type HaskellCallbackType SocketNewConnectionSignalInfo = SocketNewConnectionCallback+    connectSignal _ = connectSocketNewConnection++data SocketReadableSignalInfo+instance SignalInfo SocketReadableSignalInfo where+    type HaskellCallbackType SocketReadableSignalInfo = SocketReadableCallback+    connectSignal _ = connectSocketReadable++data SocketWritableSignalInfo+instance SignalInfo SocketWritableSignalInfo where+    type HaskellCallbackType SocketWritableSignalInfo = SocketWritableCallback+    connectSignal _ = connectSocketWritable++type instance SignalList Socket = '[ '("disconnected", SocketDisconnectedSignalInfo), '("event", SocketEventSignalInfo), '("new-connection", SocketNewConnectionSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("readable", SocketReadableSignalInfo), '("writable", SocketWritableSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++data WebsocketConnectionClosedSignalInfo+instance SignalInfo WebsocketConnectionClosedSignalInfo where+    type HaskellCallbackType WebsocketConnectionClosedSignalInfo = WebsocketConnectionClosedCallback+    connectSignal _ = connectWebsocketConnectionClosed++data WebsocketConnectionClosingSignalInfo+instance SignalInfo WebsocketConnectionClosingSignalInfo where+    type HaskellCallbackType WebsocketConnectionClosingSignalInfo = WebsocketConnectionClosingCallback+    connectSignal _ = connectWebsocketConnectionClosing++data WebsocketConnectionErrorSignalInfo+instance SignalInfo WebsocketConnectionErrorSignalInfo where+    type HaskellCallbackType WebsocketConnectionErrorSignalInfo = WebsocketConnectionErrorCallback+    connectSignal _ = connectWebsocketConnectionError++data WebsocketConnectionMessageSignalInfo+instance SignalInfo WebsocketConnectionMessageSignalInfo where+    type HaskellCallbackType WebsocketConnectionMessageSignalInfo = WebsocketConnectionMessageCallback+    connectSignal _ = connectWebsocketConnectionMessage++type instance SignalList WebsocketConnection = '[ '("closed", WebsocketConnectionClosedSignalInfo), '("closing", WebsocketConnectionClosingSignalInfo), '("error", WebsocketConnectionErrorSignalInfo), '("message", WebsocketConnectionMessageSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]+
+ LICENSE view
@@ -0,0 +1,502 @@+                  GNU LESSER GENERAL PUBLIC LICENSE+                       Version 2.1, February 1999++ Copyright (C) 1991, 1999 Free Software Foundation, Inc.+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA+ Everyone is permitted to copy and distribute verbatim copies+ of this license document, but changing it is not allowed.++[This is the first released version of the Lesser GPL.  It also counts+ as the successor of the GNU Library Public License, version 2, hence+ the version number 2.1.]++                            Preamble++  The licenses for most software are designed to take away your+freedom to share and change it.  By contrast, the GNU General Public+Licenses are intended to guarantee your freedom to share and change+free software--to make sure the software is free for all its users.++  This license, the Lesser General Public License, applies to some+specially designated software packages--typically libraries--of the+Free Software Foundation and other authors who decide to use it.  You+can use it too, but we suggest you first think carefully about whether+this license or the ordinary General Public License is the better+strategy to use in any particular case, based on the explanations below.++  When we speak of free software, we are referring to freedom of use,+not price.  Our General Public Licenses are designed to make sure that+you have the freedom to distribute copies of free software (and charge+for this service if you wish); that you receive source code or can get+it if you want it; that you can change the software and use pieces of+it in new free programs; and that you are informed that you can do+these things.++  To protect your rights, we need to make restrictions that forbid+distributors to deny you these rights or to ask you to surrender these+rights.  These restrictions translate to certain responsibilities for+you if you distribute copies of the library or if you modify it.++  For example, if you distribute copies of the library, whether gratis+or for a fee, you must give the recipients all the rights that we gave+you.  You must make sure that they, too, receive or can get the source+code.  If you link other code with the library, you must provide+complete object files to the recipients, so that they can relink them+with the library after making changes to the library and recompiling+it.  And you must show them these terms so they know their rights.++  We protect your rights with a two-step method: (1) we copyright the+library, and (2) we offer you this license, which gives you legal+permission to copy, distribute and/or modify the library.++  To protect each distributor, we want to make it very clear that+there is no warranty for the free library.  Also, if the library is+modified by someone else and passed on, the recipients should know+that what they have is not the original version, so that the original+author's reputation will not be affected by problems that might be+introduced by others.++  Finally, software patents pose a constant threat to the existence of+any free program.  We wish to make sure that a company cannot+effectively restrict the users of a free program by obtaining a+restrictive license from a patent holder.  Therefore, we insist that+any patent license obtained for a version of the library must be+consistent with the full freedom of use specified in this license.++  Most GNU software, including some libraries, is covered by the+ordinary GNU General Public License.  This license, the GNU Lesser+General Public License, applies to certain designated libraries, and+is quite different from the ordinary General Public License.  We use+this license for certain libraries in order to permit linking those+libraries into non-free programs.++  When a program is linked with a library, whether statically or using+a shared library, the combination of the two is legally speaking a+combined work, a derivative of the original library.  The ordinary+General Public License therefore permits such linking only if the+entire combination fits its criteria of freedom.  The Lesser General+Public License permits more lax criteria for linking other code with+the library.++  We call this license the "Lesser" General Public License because it+does Less to protect the user's freedom than the ordinary General+Public License.  It also provides other free software developers Less+of an advantage over competing non-free programs.  These disadvantages+are the reason we use the ordinary General Public License for many+libraries.  However, the Lesser license provides advantages in certain+special circumstances.++  For example, on rare occasions, there may be a special need to+encourage the widest possible use of a certain library, so that it becomes+a de-facto standard.  To achieve this, non-free programs must be+allowed to use the library.  A more frequent case is that a free+library does the same job as widely used non-free libraries.  In this+case, there is little to gain by limiting the free library to free+software only, so we use the Lesser General Public License.++  In other cases, permission to use a particular library in non-free+programs enables a greater number of people to use a large body of+free software.  For example, permission to use the GNU C Library in+non-free programs enables many more people to use the whole GNU+operating system, as well as its variant, the GNU/Linux operating+system.++  Although the Lesser General Public License is Less protective of the+users' freedom, it does ensure that the user of a program that is+linked with the Library has the freedom and the wherewithal to run+that program using a modified version of the Library.++  The precise terms and conditions for copying, distribution and+modification follow.  Pay close attention to the difference between a+"work based on the library" and a "work that uses the library".  The+former contains code derived from the library, whereas the latter must+be combined with the library in order to run.++                  GNU LESSER GENERAL PUBLIC LICENSE+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION++  0. This License Agreement applies to any software library or other+program which contains a notice placed by the copyright holder or+other authorized party saying it may be distributed under the terms of+this Lesser General Public License (also called "this License").+Each licensee is addressed as "you".++  A "library" means a collection of software functions and/or data+prepared so as to be conveniently linked with application programs+(which use some of those functions and data) to form executables.++  The "Library", below, refers to any such software library or work+which has been distributed under these terms.  A "work based on the+Library" means either the Library or any derivative work under+copyright law: that is to say, a work containing the Library or a+portion of it, either verbatim or with modifications and/or translated+straightforwardly into another language.  (Hereinafter, translation is+included without limitation in the term "modification".)++  "Source code" for a work means the preferred form of the work for+making modifications to it.  For a library, complete source code means+all the source code for all modules it contains, plus any associated+interface definition files, plus the scripts used to control compilation+and installation of the library.++  Activities other than copying, distribution and modification are not+covered by this License; they are outside its scope.  The act of+running a program using the Library is not restricted, and output from+such a program is covered only if its contents constitute a work based+on the Library (independent of the use of the Library in a tool for+writing it).  Whether that is true depends on what the Library does+and what the program that uses the Library does.++  1. You may copy and distribute verbatim copies of the Library's+complete source code as you receive it, in any medium, provided that+you conspicuously and appropriately publish on each copy an+appropriate copyright notice and disclaimer of warranty; keep intact+all the notices that refer to this License and to the absence of any+warranty; and distribute a copy of this License along with the+Library.++  You may charge a fee for the physical act of transferring a copy,+and you may at your option offer warranty protection in exchange for a+fee.++  2. You may modify your copy or copies of the Library or any portion+of it, thus forming a work based on the Library, and copy and+distribute such modifications or work under the terms of Section 1+above, provided that you also meet all of these conditions:++    a) The modified work must itself be a software library.++    b) You must cause the files modified to carry prominent notices+    stating that you changed the files and the date of any change.++    c) You must cause the whole of the work to be licensed at no+    charge to all third parties under the terms of this License.++    d) If a facility in the modified Library refers to a function or a+    table of data to be supplied by an application program that uses+    the facility, other than as an argument passed when the facility+    is invoked, then you must make a good faith effort to ensure that,+    in the event an application does not supply such function or+    table, the facility still operates, and performs whatever part of+    its purpose remains meaningful.++    (For example, a function in a library to compute square roots has+    a purpose that is entirely well-defined independent of the+    application.  Therefore, Subsection 2d requires that any+    application-supplied function or table used by this function must+    be optional: if the application does not supply it, the square+    root function must still compute square roots.)++These requirements apply to the modified work as a whole.  If+identifiable sections of that work are not derived from the Library,+and can be reasonably considered independent and separate works in+themselves, then this License, and its terms, do not apply to those+sections when you distribute them as separate works.  But when you+distribute the same sections as part of a whole which is a work based+on the Library, the distribution of the whole must be on the terms of+this License, whose permissions for other licensees extend to the+entire whole, and thus to each and every part regardless of who wrote+it.++Thus, it is not the intent of this section to claim rights or contest+your rights to work written entirely by you; rather, the intent is to+exercise the right to control the distribution of derivative or+collective works based on the Library.++In addition, mere aggregation of another work not based on the Library+with the Library (or with a work based on the Library) on a volume of+a storage or distribution medium does not bring the other work under+the scope of this License.++  3. You may opt to apply the terms of the ordinary GNU General Public+License instead of this License to a given copy of the Library.  To do+this, you must alter all the notices that refer to this License, so+that they refer to the ordinary GNU General Public License, version 2,+instead of to this License.  (If a newer version than version 2 of the+ordinary GNU General Public License has appeared, then you can specify+that version instead if you wish.)  Do not make any other change in+these notices.++  Once this change is made in a given copy, it is irreversible for+that copy, so the ordinary GNU General Public License applies to all+subsequent copies and derivative works made from that copy.++  This option is useful when you wish to copy part of the code of+the Library into a program that is not a library.++  4. You may copy and distribute the Library (or a portion or+derivative of it, under Section 2) in object code or executable form+under the terms of Sections 1 and 2 above provided that you accompany+it with the complete corresponding machine-readable source code, which+must be distributed under the terms of Sections 1 and 2 above on a+medium customarily used for software interchange.++  If distribution of object code is made by offering access to copy+from a designated place, then offering equivalent access to copy the+source code from the same place satisfies the requirement to+distribute the source code, even though third parties are not+compelled to copy the source along with the object code.++  5. A program that contains no derivative of any portion of the+Library, but is designed to work with the Library by being compiled or+linked with it, is called a "work that uses the Library".  Such a+work, in isolation, is not a derivative work of the Library, and+therefore falls outside the scope of this License.++  However, linking a "work that uses the Library" with the Library+creates an executable that is a derivative of the Library (because it+contains portions of the Library), rather than a "work that uses the+library".  The executable is therefore covered by this License.+Section 6 states terms for distribution of such executables.++  When a "work that uses the Library" uses material from a header file+that is part of the Library, the object code for the work may be a+derivative work of the Library even though the source code is not.+Whether this is true is especially significant if the work can be+linked without the Library, or if the work is itself a library.  The+threshold for this to be true is not precisely defined by law.++  If such an object file uses only numerical parameters, data+structure layouts and accessors, and small macros and small inline+functions (ten lines or less in length), then the use of the object+file is unrestricted, regardless of whether it is legally a derivative+work.  (Executables containing this object code plus portions of the+Library will still fall under Section 6.)++  Otherwise, if the work is a derivative of the Library, you may+distribute the object code for the work under the terms of Section 6.+Any executables containing that work also fall under Section 6,+whether or not they are linked directly with the Library itself.++  6. As an exception to the Sections above, you may also combine or+link a "work that uses the Library" with the Library to produce a+work containing portions of the Library, and distribute that work+under terms of your choice, provided that the terms permit+modification of the work for the customer's own use and reverse+engineering for debugging such modifications.++  You must give prominent notice with each copy of the work that the+Library is used in it and that the Library and its use are covered by+this License.  You must supply a copy of this License.  If the work+during execution displays copyright notices, you must include the+copyright notice for the Library among them, as well as a reference+directing the user to the copy of this License.  Also, you must do one+of these things:++    a) Accompany the work with the complete corresponding+    machine-readable source code for the Library including whatever+    changes were used in the work (which must be distributed under+    Sections 1 and 2 above); and, if the work is an executable linked+    with the Library, with the complete machine-readable "work that+    uses the Library", as object code and/or source code, so that the+    user can modify the Library and then relink to produce a modified+    executable containing the modified Library.  (It is understood+    that the user who changes the contents of definitions files in the+    Library will not necessarily be able to recompile the application+    to use the modified definitions.)++    b) Use a suitable shared library mechanism for linking with the+    Library.  A suitable mechanism is one that (1) uses at run time a+    copy of the library already present on the user's computer system,+    rather than copying library functions into the executable, and (2)+    will operate properly with a modified version of the library, if+    the user installs one, as long as the modified version is+    interface-compatible with the version that the work was made with.++    c) Accompany the work with a written offer, valid for at+    least three years, to give the same user the materials+    specified in Subsection 6a, above, for a charge no more+    than the cost of performing this distribution.++    d) If distribution of the work is made by offering access to copy+    from a designated place, offer equivalent access to copy the above+    specified materials from the same place.++    e) Verify that the user has already received a copy of these+    materials or that you have already sent this user a copy.++  For an executable, the required form of the "work that uses the+Library" must include any data and utility programs needed for+reproducing the executable from it.  However, as a special exception,+the materials to be distributed need not include anything that is+normally distributed (in either source or binary form) with the major+components (compiler, kernel, and so on) of the operating system on+which the executable runs, unless that component itself accompanies+the executable.++  It may happen that this requirement contradicts the license+restrictions of other proprietary libraries that do not normally+accompany the operating system.  Such a contradiction means you cannot+use both them and the Library together in an executable that you+distribute.++  7. You may place library facilities that are a work based on the+Library side-by-side in a single library together with other library+facilities not covered by this License, and distribute such a combined+library, provided that the separate distribution of the work based on+the Library and of the other library facilities is otherwise+permitted, and provided that you do these two things:++    a) Accompany the combined library with a copy of the same work+    based on the Library, uncombined with any other library+    facilities.  This must be distributed under the terms of the+    Sections above.++    b) Give prominent notice with the combined library of the fact+    that part of it is a work based on the Library, and explaining+    where to find the accompanying uncombined form of the same work.++  8. You may not copy, modify, sublicense, link with, or distribute+the Library except as expressly provided under this License.  Any+attempt otherwise to copy, modify, sublicense, link with, or+distribute the Library is void, and will automatically terminate your+rights under this License.  However, parties who have received copies,+or rights, from you under this License will not have their licenses+terminated so long as such parties remain in full compliance.++  9. You are not required to accept this License, since you have not+signed it.  However, nothing else grants you permission to modify or+distribute the Library or its derivative works.  These actions are+prohibited by law if you do not accept this License.  Therefore, by+modifying or distributing the Library (or any work based on the+Library), you indicate your acceptance of this License to do so, and+all its terms and conditions for copying, distributing or modifying+the Library or works based on it.++  10. Each time you redistribute the Library (or any work based on the+Library), the recipient automatically receives a license from the+original licensor to copy, distribute, link with or modify the Library+subject to these terms and conditions.  You may not impose any further+restrictions on the recipients' exercise of the rights granted herein.+You are not responsible for enforcing compliance by third parties with+this License.++  11. If, as a consequence of a court judgment or allegation of patent+infringement or for any other reason (not limited to patent issues),+conditions are imposed on you (whether by court order, agreement or+otherwise) that contradict the conditions of this License, they do not+excuse you from the conditions of this License.  If you cannot+distribute so as to satisfy simultaneously your obligations under this+License and any other pertinent obligations, then as a consequence you+may not distribute the Library at all.  For example, if a patent+license would not permit royalty-free redistribution of the Library by+all those who receive copies directly or indirectly through you, then+the only way you could satisfy both it and this License would be to+refrain entirely from distribution of the Library.++If any portion of this section is held invalid or unenforceable under any+particular circumstance, the balance of the section is intended to apply,+and the section as a whole is intended to apply in other circumstances.++It is not the purpose of this section to induce you to infringe any+patents or other property right claims or to contest validity of any+such claims; this section has the sole purpose of protecting the+integrity of the free software distribution system which is+implemented by public license practices.  Many people have made+generous contributions to the wide range of software distributed+through that system in reliance on consistent application of that+system; it is up to the author/donor to decide if he or she is willing+to distribute software through any other system and a licensee cannot+impose that choice.++This section is intended to make thoroughly clear what is believed to+be a consequence of the rest of this License.++  12. If the distribution and/or use of the Library is restricted in+certain countries either by patents or by copyrighted interfaces, the+original copyright holder who places the Library under this License may add+an explicit geographical distribution limitation excluding those countries,+so that distribution is permitted only in or among countries not thus+excluded.  In such case, this License incorporates the limitation as if+written in the body of this License.++  13. The Free Software Foundation may publish revised and/or new+versions of the Lesser General Public License from time to time.+Such new versions will be similar in spirit to the present version,+but may differ in detail to address new problems or concerns.++Each version is given a distinguishing version number.  If the Library+specifies a version number of this License which applies to it and+"any later version", you have the option of following the terms and+conditions either of that version or of any later version published by+the Free Software Foundation.  If the Library does not specify a+license version number, you may choose any version ever published by+the Free Software Foundation.++  14. If you wish to incorporate parts of the Library into other free+programs whose distribution conditions are incompatible with these,+write to the author to ask for permission.  For software which is+copyrighted by the Free Software Foundation, write to the Free+Software Foundation; we sometimes make exceptions for this.  Our+decision will be guided by the two goals of preserving the free status+of all derivatives of our free software and of promoting the sharing+and reuse of software generally.++                            NO WARRANTY++  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.++  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH+DAMAGES.++                     END OF TERMS AND CONDITIONS++           How to Apply These Terms to Your New Libraries++  If you develop a new library, and you want it to be of the greatest+possible use to the public, we recommend making it free software that+everyone can redistribute and change.  You can do so by permitting+redistribution under these terms (or, alternatively, under the terms of the+ordinary General Public License).++  To apply these terms, attach the following notices to the library.  It is+safest to attach them to the start of each source file to most effectively+convey the exclusion of warranty; and each file should have at least the+"copyright" line and a pointer to where the full notice is found.++    <one line to give the library's name and a brief idea of what it does.>+    Copyright (C) <year>  <name of author>++    This library is free software; you can redistribute it and/or+    modify it under the terms of the GNU Lesser General Public+    License as published by the Free Software Foundation; either+    version 2.1 of the License, or (at your option) any later version.++    This library is distributed in the hope that it will be useful,+    but WITHOUT ANY WARRANTY; without even the implied warranty of+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU+    Lesser General Public License for more details.++    You should have received a copy of the GNU Lesser General Public+    License along with this library; if not, write to the Free Software+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA++Also add information on how to contact you by electronic and paper mail.++You should also get your employer (if you work as a programmer) or your+school, if any, to sign a "copyright disclaimer" for the library, if+necessary.  Here is a sample; alter the names:++  Yoyodyne, Inc., hereby disclaims all copyright interest in the+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.++  <signature of Ty Coon>, 1 April 1990+  Ty Coon, President of Vice++That's all there is to it!
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
+ gi-soup.cabal view
@@ -0,0 +1,27 @@+-- Autogenerated, do not edit.+name:               gi-soup+version:            0.2.50.8+synopsis:           Soup bindings+description:        Bindings for Soup, autogenerated by haskell-gi.+homepage:           https://github.com/haskell-gi/haskell-gi+license:            LGPL-2.1+license-file:       LICENSE+author:             Will Thompson, Iñaki García Etxebarria and Jonas Platte+maintainer:         Iñaki García Etxebarria (garetxe@gmail.com)+category:           Bindings+build-type:         Simple+cabal-version:      >=1.10++library+    default-language:   Haskell2010+    exposed-modules:    GI.Soup, GI.SoupAttributes, GI.SoupSignals+    pkgconfig-depends:  libsoup-2.4 >= 2.50+    build-depends: base >= 4.6 && <4.9,+        haskell-gi-base >= 0.8 && < 1,+        gi-glib >= 0.2.44.8 && < 0.3,+        gi-gobject >= 0.2.44.8 && < 0.3,+        gi-gio >= 0.2.44.8 && < 0.3,+        bytestring >= 0.10,+        containers >= 0.5,+        text >= 1.0,+        transformers >= 0.3