{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit2.Objects.WebsiteDataManager
    ( 

-- * Exported types
    WebsiteDataManager(..)                  ,
    WebsiteDataManagerK                     ,
    toWebsiteDataManager                    ,
    noWebsiteDataManager                    ,


 -- * Methods
-- ** websiteDataManagerGetBaseCacheDirectory
    websiteDataManagerGetBaseCacheDirectory ,


-- ** websiteDataManagerGetBaseDataDirectory
    websiteDataManagerGetBaseDataDirectory  ,


-- ** websiteDataManagerGetDiskCacheDirectory
    websiteDataManagerGetDiskCacheDirectory ,


-- ** websiteDataManagerGetIndexeddbDirectory
    websiteDataManagerGetIndexeddbDirectory ,


-- ** websiteDataManagerGetLocalStorageDirectory
    websiteDataManagerGetLocalStorageDirectory,


-- ** websiteDataManagerGetOfflineApplicationCacheDirectory
    websiteDataManagerGetOfflineApplicationCacheDirectory,


-- ** websiteDataManagerGetWebsqlDirectory
    websiteDataManagerGetWebsqlDirectory    ,




 -- * Properties
-- ** BaseCacheDirectory
    WebsiteDataManagerBaseCacheDirectoryPropertyInfo,
    constructWebsiteDataManagerBaseCacheDirectory,
    getWebsiteDataManagerBaseCacheDirectory ,


-- ** BaseDataDirectory
    WebsiteDataManagerBaseDataDirectoryPropertyInfo,
    constructWebsiteDataManagerBaseDataDirectory,
    getWebsiteDataManagerBaseDataDirectory  ,


-- ** DiskCacheDirectory
    WebsiteDataManagerDiskCacheDirectoryPropertyInfo,
    constructWebsiteDataManagerDiskCacheDirectory,
    getWebsiteDataManagerDiskCacheDirectory ,


-- ** IndexeddbDirectory
    WebsiteDataManagerIndexeddbDirectoryPropertyInfo,
    constructWebsiteDataManagerIndexeddbDirectory,
    getWebsiteDataManagerIndexeddbDirectory ,


-- ** LocalStorageDirectory
    WebsiteDataManagerLocalStorageDirectoryPropertyInfo,
    constructWebsiteDataManagerLocalStorageDirectory,
    getWebsiteDataManagerLocalStorageDirectory,


-- ** OfflineApplicationCacheDirectory
    WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo,
    constructWebsiteDataManagerOfflineApplicationCacheDirectory,
    getWebsiteDataManagerOfflineApplicationCacheDirectory,


-- ** WebsqlDirectory
    WebsiteDataManagerWebsqlDirectoryPropertyInfo,
    constructWebsiteDataManagerWebsqlDirectory,
    getWebsiteDataManagerWebsqlDirectory    ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit2.Types
import GI.WebKit2.Callbacks
import qualified GI.GObject as GObject

newtype WebsiteDataManager = WebsiteDataManager (ForeignPtr WebsiteDataManager)
foreign import ccall "webkit_website_data_manager_get_type"
    c_webkit_website_data_manager_get_type :: IO GType

type instance ParentTypes WebsiteDataManager = WebsiteDataManagerParentTypes
type WebsiteDataManagerParentTypes = '[GObject.Object]

instance GObject WebsiteDataManager where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_website_data_manager_get_type
    

class GObject o => WebsiteDataManagerK o
instance (GObject o, IsDescendantOf WebsiteDataManager o) => WebsiteDataManagerK o

toWebsiteDataManager :: WebsiteDataManagerK o => o -> IO WebsiteDataManager
toWebsiteDataManager = unsafeCastTo WebsiteDataManager

noWebsiteDataManager :: Maybe WebsiteDataManager
noWebsiteDataManager = Nothing

-- VVV Prop "base-cache-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getWebsiteDataManagerBaseCacheDirectory :: (MonadIO m, WebsiteDataManagerK o) => o -> m T.Text
getWebsiteDataManagerBaseCacheDirectory obj = liftIO $ getObjectPropertyString obj "base-cache-directory"

constructWebsiteDataManagerBaseCacheDirectory :: T.Text -> IO ([Char], GValue)
constructWebsiteDataManagerBaseCacheDirectory val = constructObjectPropertyString "base-cache-directory" val

data WebsiteDataManagerBaseCacheDirectoryPropertyInfo
instance AttrInfo WebsiteDataManagerBaseCacheDirectoryPropertyInfo where
    type AttrAllowedOps WebsiteDataManagerBaseCacheDirectoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebsiteDataManagerBaseCacheDirectoryPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebsiteDataManagerBaseCacheDirectoryPropertyInfo = WebsiteDataManagerK
    type AttrGetType WebsiteDataManagerBaseCacheDirectoryPropertyInfo = T.Text
    type AttrLabel WebsiteDataManagerBaseCacheDirectoryPropertyInfo = "WebsiteDataManager::base-cache-directory"
    attrGet _ = getWebsiteDataManagerBaseCacheDirectory
    attrSet _ = undefined
    attrConstruct _ = constructWebsiteDataManagerBaseCacheDirectory

-- VVV Prop "base-data-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getWebsiteDataManagerBaseDataDirectory :: (MonadIO m, WebsiteDataManagerK o) => o -> m T.Text
getWebsiteDataManagerBaseDataDirectory obj = liftIO $ getObjectPropertyString obj "base-data-directory"

constructWebsiteDataManagerBaseDataDirectory :: T.Text -> IO ([Char], GValue)
constructWebsiteDataManagerBaseDataDirectory val = constructObjectPropertyString "base-data-directory" val

data WebsiteDataManagerBaseDataDirectoryPropertyInfo
instance AttrInfo WebsiteDataManagerBaseDataDirectoryPropertyInfo where
    type AttrAllowedOps WebsiteDataManagerBaseDataDirectoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebsiteDataManagerBaseDataDirectoryPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebsiteDataManagerBaseDataDirectoryPropertyInfo = WebsiteDataManagerK
    type AttrGetType WebsiteDataManagerBaseDataDirectoryPropertyInfo = T.Text
    type AttrLabel WebsiteDataManagerBaseDataDirectoryPropertyInfo = "WebsiteDataManager::base-data-directory"
    attrGet _ = getWebsiteDataManagerBaseDataDirectory
    attrSet _ = undefined
    attrConstruct _ = constructWebsiteDataManagerBaseDataDirectory

-- VVV Prop "disk-cache-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getWebsiteDataManagerDiskCacheDirectory :: (MonadIO m, WebsiteDataManagerK o) => o -> m T.Text
getWebsiteDataManagerDiskCacheDirectory obj = liftIO $ getObjectPropertyString obj "disk-cache-directory"

constructWebsiteDataManagerDiskCacheDirectory :: T.Text -> IO ([Char], GValue)
constructWebsiteDataManagerDiskCacheDirectory val = constructObjectPropertyString "disk-cache-directory" val

data WebsiteDataManagerDiskCacheDirectoryPropertyInfo
instance AttrInfo WebsiteDataManagerDiskCacheDirectoryPropertyInfo where
    type AttrAllowedOps WebsiteDataManagerDiskCacheDirectoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebsiteDataManagerDiskCacheDirectoryPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebsiteDataManagerDiskCacheDirectoryPropertyInfo = WebsiteDataManagerK
    type AttrGetType WebsiteDataManagerDiskCacheDirectoryPropertyInfo = T.Text
    type AttrLabel WebsiteDataManagerDiskCacheDirectoryPropertyInfo = "WebsiteDataManager::disk-cache-directory"
    attrGet _ = getWebsiteDataManagerDiskCacheDirectory
    attrSet _ = undefined
    attrConstruct _ = constructWebsiteDataManagerDiskCacheDirectory

-- VVV Prop "indexeddb-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getWebsiteDataManagerIndexeddbDirectory :: (MonadIO m, WebsiteDataManagerK o) => o -> m T.Text
getWebsiteDataManagerIndexeddbDirectory obj = liftIO $ getObjectPropertyString obj "indexeddb-directory"

constructWebsiteDataManagerIndexeddbDirectory :: T.Text -> IO ([Char], GValue)
constructWebsiteDataManagerIndexeddbDirectory val = constructObjectPropertyString "indexeddb-directory" val

data WebsiteDataManagerIndexeddbDirectoryPropertyInfo
instance AttrInfo WebsiteDataManagerIndexeddbDirectoryPropertyInfo where
    type AttrAllowedOps WebsiteDataManagerIndexeddbDirectoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebsiteDataManagerIndexeddbDirectoryPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebsiteDataManagerIndexeddbDirectoryPropertyInfo = WebsiteDataManagerK
    type AttrGetType WebsiteDataManagerIndexeddbDirectoryPropertyInfo = T.Text
    type AttrLabel WebsiteDataManagerIndexeddbDirectoryPropertyInfo = "WebsiteDataManager::indexeddb-directory"
    attrGet _ = getWebsiteDataManagerIndexeddbDirectory
    attrSet _ = undefined
    attrConstruct _ = constructWebsiteDataManagerIndexeddbDirectory

-- VVV Prop "local-storage-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getWebsiteDataManagerLocalStorageDirectory :: (MonadIO m, WebsiteDataManagerK o) => o -> m T.Text
getWebsiteDataManagerLocalStorageDirectory obj = liftIO $ getObjectPropertyString obj "local-storage-directory"

constructWebsiteDataManagerLocalStorageDirectory :: T.Text -> IO ([Char], GValue)
constructWebsiteDataManagerLocalStorageDirectory val = constructObjectPropertyString "local-storage-directory" val

data WebsiteDataManagerLocalStorageDirectoryPropertyInfo
instance AttrInfo WebsiteDataManagerLocalStorageDirectoryPropertyInfo where
    type AttrAllowedOps WebsiteDataManagerLocalStorageDirectoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebsiteDataManagerLocalStorageDirectoryPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebsiteDataManagerLocalStorageDirectoryPropertyInfo = WebsiteDataManagerK
    type AttrGetType WebsiteDataManagerLocalStorageDirectoryPropertyInfo = T.Text
    type AttrLabel WebsiteDataManagerLocalStorageDirectoryPropertyInfo = "WebsiteDataManager::local-storage-directory"
    attrGet _ = getWebsiteDataManagerLocalStorageDirectory
    attrSet _ = undefined
    attrConstruct _ = constructWebsiteDataManagerLocalStorageDirectory

-- VVV Prop "offline-application-cache-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getWebsiteDataManagerOfflineApplicationCacheDirectory :: (MonadIO m, WebsiteDataManagerK o) => o -> m T.Text
getWebsiteDataManagerOfflineApplicationCacheDirectory obj = liftIO $ getObjectPropertyString obj "offline-application-cache-directory"

constructWebsiteDataManagerOfflineApplicationCacheDirectory :: T.Text -> IO ([Char], GValue)
constructWebsiteDataManagerOfflineApplicationCacheDirectory val = constructObjectPropertyString "offline-application-cache-directory" val

data WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo
instance AttrInfo WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo where
    type AttrAllowedOps WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo = WebsiteDataManagerK
    type AttrGetType WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo = T.Text
    type AttrLabel WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo = "WebsiteDataManager::offline-application-cache-directory"
    attrGet _ = getWebsiteDataManagerOfflineApplicationCacheDirectory
    attrSet _ = undefined
    attrConstruct _ = constructWebsiteDataManagerOfflineApplicationCacheDirectory

-- VVV Prop "websql-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]

getWebsiteDataManagerWebsqlDirectory :: (MonadIO m, WebsiteDataManagerK o) => o -> m T.Text
getWebsiteDataManagerWebsqlDirectory obj = liftIO $ getObjectPropertyString obj "websql-directory"

constructWebsiteDataManagerWebsqlDirectory :: T.Text -> IO ([Char], GValue)
constructWebsiteDataManagerWebsqlDirectory val = constructObjectPropertyString "websql-directory" val

data WebsiteDataManagerWebsqlDirectoryPropertyInfo
instance AttrInfo WebsiteDataManagerWebsqlDirectoryPropertyInfo where
    type AttrAllowedOps WebsiteDataManagerWebsqlDirectoryPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint WebsiteDataManagerWebsqlDirectoryPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint WebsiteDataManagerWebsqlDirectoryPropertyInfo = WebsiteDataManagerK
    type AttrGetType WebsiteDataManagerWebsqlDirectoryPropertyInfo = T.Text
    type AttrLabel WebsiteDataManagerWebsqlDirectoryPropertyInfo = "WebsiteDataManager::websql-directory"
    attrGet _ = getWebsiteDataManagerWebsqlDirectory
    attrSet _ = undefined
    attrConstruct _ = constructWebsiteDataManagerWebsqlDirectory

type instance AttributeList WebsiteDataManager = WebsiteDataManagerAttributeList
type WebsiteDataManagerAttributeList = ('[ '("base-cache-directory", WebsiteDataManagerBaseCacheDirectoryPropertyInfo), '("base-data-directory", WebsiteDataManagerBaseDataDirectoryPropertyInfo), '("disk-cache-directory", WebsiteDataManagerDiskCacheDirectoryPropertyInfo), '("indexeddb-directory", WebsiteDataManagerIndexeddbDirectoryPropertyInfo), '("local-storage-directory", WebsiteDataManagerLocalStorageDirectoryPropertyInfo), '("offline-application-cache-directory", WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo), '("websql-directory", WebsiteDataManagerWebsqlDirectoryPropertyInfo)] :: [(Symbol, *)])

type instance SignalList WebsiteDataManager = WebsiteDataManagerSignalList
type WebsiteDataManagerSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method WebsiteDataManager::get_base_cache_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_website_data_manager_get_base_cache_directory" webkit_website_data_manager_get_base_cache_directory :: 
    Ptr WebsiteDataManager ->               -- _obj : TInterface "WebKit2" "WebsiteDataManager"
    IO CString


websiteDataManagerGetBaseCacheDirectory ::
    (MonadIO m, WebsiteDataManagerK a) =>
    a ->                                    -- _obj
    m T.Text
websiteDataManagerGetBaseCacheDirectory _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_website_data_manager_get_base_cache_directory _obj'
    checkUnexpectedReturnNULL "webkit_website_data_manager_get_base_cache_directory" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method WebsiteDataManager::get_base_data_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_website_data_manager_get_base_data_directory" webkit_website_data_manager_get_base_data_directory :: 
    Ptr WebsiteDataManager ->               -- _obj : TInterface "WebKit2" "WebsiteDataManager"
    IO CString


websiteDataManagerGetBaseDataDirectory ::
    (MonadIO m, WebsiteDataManagerK a) =>
    a ->                                    -- _obj
    m T.Text
websiteDataManagerGetBaseDataDirectory _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_website_data_manager_get_base_data_directory _obj'
    checkUnexpectedReturnNULL "webkit_website_data_manager_get_base_data_directory" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method WebsiteDataManager::get_disk_cache_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_website_data_manager_get_disk_cache_directory" webkit_website_data_manager_get_disk_cache_directory :: 
    Ptr WebsiteDataManager ->               -- _obj : TInterface "WebKit2" "WebsiteDataManager"
    IO CString


websiteDataManagerGetDiskCacheDirectory ::
    (MonadIO m, WebsiteDataManagerK a) =>
    a ->                                    -- _obj
    m T.Text
websiteDataManagerGetDiskCacheDirectory _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_website_data_manager_get_disk_cache_directory _obj'
    checkUnexpectedReturnNULL "webkit_website_data_manager_get_disk_cache_directory" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method WebsiteDataManager::get_indexeddb_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_website_data_manager_get_indexeddb_directory" webkit_website_data_manager_get_indexeddb_directory :: 
    Ptr WebsiteDataManager ->               -- _obj : TInterface "WebKit2" "WebsiteDataManager"
    IO CString


websiteDataManagerGetIndexeddbDirectory ::
    (MonadIO m, WebsiteDataManagerK a) =>
    a ->                                    -- _obj
    m T.Text
websiteDataManagerGetIndexeddbDirectory _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_website_data_manager_get_indexeddb_directory _obj'
    checkUnexpectedReturnNULL "webkit_website_data_manager_get_indexeddb_directory" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method WebsiteDataManager::get_local_storage_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_website_data_manager_get_local_storage_directory" webkit_website_data_manager_get_local_storage_directory :: 
    Ptr WebsiteDataManager ->               -- _obj : TInterface "WebKit2" "WebsiteDataManager"
    IO CString


websiteDataManagerGetLocalStorageDirectory ::
    (MonadIO m, WebsiteDataManagerK a) =>
    a ->                                    -- _obj
    m T.Text
websiteDataManagerGetLocalStorageDirectory _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_website_data_manager_get_local_storage_directory _obj'
    checkUnexpectedReturnNULL "webkit_website_data_manager_get_local_storage_directory" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method WebsiteDataManager::get_offline_application_cache_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_website_data_manager_get_offline_application_cache_directory" webkit_website_data_manager_get_offline_application_cache_directory :: 
    Ptr WebsiteDataManager ->               -- _obj : TInterface "WebKit2" "WebsiteDataManager"
    IO CString


websiteDataManagerGetOfflineApplicationCacheDirectory ::
    (MonadIO m, WebsiteDataManagerK a) =>
    a ->                                    -- _obj
    m T.Text
websiteDataManagerGetOfflineApplicationCacheDirectory _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_website_data_manager_get_offline_application_cache_directory _obj'
    checkUnexpectedReturnNULL "webkit_website_data_manager_get_offline_application_cache_directory" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'

-- method WebsiteDataManager::get_websql_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2" "WebsiteDataManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_website_data_manager_get_websql_directory" webkit_website_data_manager_get_websql_directory :: 
    Ptr WebsiteDataManager ->               -- _obj : TInterface "WebKit2" "WebsiteDataManager"
    IO CString


websiteDataManagerGetWebsqlDirectory ::
    (MonadIO m, WebsiteDataManagerK a) =>
    a ->                                    -- _obj
    m T.Text
websiteDataManagerGetWebsqlDirectory _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_website_data_manager_get_websql_directory _obj'
    checkUnexpectedReturnNULL "webkit_website_data_manager_get_websql_directory" result
    result' <- cstringToText result
    touchManagedPtr _obj
    return result'