{- |
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(..)                  ,
    IsWebsiteDataManager                    ,
    toWebsiteDataManager                    ,
    noWebsiteDataManager                    ,


 -- * Methods
-- ** getBaseCacheDirectory #method:getBaseCacheDirectory#
    WebsiteDataManagerGetBaseCacheDirectoryMethodInfo,
    websiteDataManagerGetBaseCacheDirectory ,


-- ** getBaseDataDirectory #method:getBaseDataDirectory#
    WebsiteDataManagerGetBaseDataDirectoryMethodInfo,
    websiteDataManagerGetBaseDataDirectory  ,


-- ** getDiskCacheDirectory #method:getDiskCacheDirectory#
    WebsiteDataManagerGetDiskCacheDirectoryMethodInfo,
    websiteDataManagerGetDiskCacheDirectory ,


-- ** getIndexeddbDirectory #method:getIndexeddbDirectory#
    WebsiteDataManagerGetIndexeddbDirectoryMethodInfo,
    websiteDataManagerGetIndexeddbDirectory ,


-- ** getLocalStorageDirectory #method:getLocalStorageDirectory#
    WebsiteDataManagerGetLocalStorageDirectoryMethodInfo,
    websiteDataManagerGetLocalStorageDirectory,


-- ** getOfflineApplicationCacheDirectory #method:getOfflineApplicationCacheDirectory#
    WebsiteDataManagerGetOfflineApplicationCacheDirectoryMethodInfo,
    websiteDataManagerGetOfflineApplicationCacheDirectory,


-- ** getWebsqlDirectory #method:getWebsqlDirectory#
    WebsiteDataManagerGetWebsqlDirectoryMethodInfo,
    websiteDataManagerGetWebsqlDirectory    ,




 -- * Properties
-- ** baseCacheDirectory #attr:baseCacheDirectory#
    WebsiteDataManagerBaseCacheDirectoryPropertyInfo,
    constructWebsiteDataManagerBaseCacheDirectory,
    getWebsiteDataManagerBaseCacheDirectory ,
    websiteDataManagerBaseCacheDirectory    ,


-- ** baseDataDirectory #attr:baseDataDirectory#
    WebsiteDataManagerBaseDataDirectoryPropertyInfo,
    constructWebsiteDataManagerBaseDataDirectory,
    getWebsiteDataManagerBaseDataDirectory  ,
    websiteDataManagerBaseDataDirectory     ,


-- ** diskCacheDirectory #attr:diskCacheDirectory#
    WebsiteDataManagerDiskCacheDirectoryPropertyInfo,
    constructWebsiteDataManagerDiskCacheDirectory,
    getWebsiteDataManagerDiskCacheDirectory ,
    websiteDataManagerDiskCacheDirectory    ,


-- ** indexeddbDirectory #attr:indexeddbDirectory#
    WebsiteDataManagerIndexeddbDirectoryPropertyInfo,
    constructWebsiteDataManagerIndexeddbDirectory,
    getWebsiteDataManagerIndexeddbDirectory ,
    websiteDataManagerIndexeddbDirectory    ,


-- ** localStorageDirectory #attr:localStorageDirectory#
    WebsiteDataManagerLocalStorageDirectoryPropertyInfo,
    constructWebsiteDataManagerLocalStorageDirectory,
    getWebsiteDataManagerLocalStorageDirectory,
    websiteDataManagerLocalStorageDirectory ,


-- ** offlineApplicationCacheDirectory #attr:offlineApplicationCacheDirectory#
    WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo,
    constructWebsiteDataManagerOfflineApplicationCacheDirectory,
    getWebsiteDataManagerOfflineApplicationCacheDirectory,
    websiteDataManagerOfflineApplicationCacheDirectory,


-- ** websqlDirectory #attr:websqlDirectory#
    WebsiteDataManagerWebsqlDirectoryPropertyInfo,
    constructWebsiteDataManagerWebsqlDirectory,
    getWebsiteDataManagerWebsqlDirectory    ,
    websiteDataManagerWebsqlDirectory       ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.GObject.Objects.Object as GObject.Object

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

instance GObject WebsiteDataManager where
    gobjectType _ = c_webkit_website_data_manager_get_type
    

class GObject o => IsWebsiteDataManager o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError WebsiteDataManager a) =>
    IsWebsiteDataManager a
#endif
instance IsWebsiteDataManager WebsiteDataManager
instance GObject.Object.IsObject WebsiteDataManager

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

noWebsiteDataManager :: Maybe WebsiteDataManager
noWebsiteDataManager = Nothing

type family ResolveWebsiteDataManagerMethod (t :: Symbol) (o :: *) :: * where
    ResolveWebsiteDataManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveWebsiteDataManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveWebsiteDataManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveWebsiteDataManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveWebsiteDataManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveWebsiteDataManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveWebsiteDataManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveWebsiteDataManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveWebsiteDataManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveWebsiteDataManagerMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveWebsiteDataManagerMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveWebsiteDataManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveWebsiteDataManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveWebsiteDataManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveWebsiteDataManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveWebsiteDataManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveWebsiteDataManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveWebsiteDataManagerMethod "getBaseCacheDirectory" o = WebsiteDataManagerGetBaseCacheDirectoryMethodInfo
    ResolveWebsiteDataManagerMethod "getBaseDataDirectory" o = WebsiteDataManagerGetBaseDataDirectoryMethodInfo
    ResolveWebsiteDataManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveWebsiteDataManagerMethod "getDiskCacheDirectory" o = WebsiteDataManagerGetDiskCacheDirectoryMethodInfo
    ResolveWebsiteDataManagerMethod "getIndexeddbDirectory" o = WebsiteDataManagerGetIndexeddbDirectoryMethodInfo
    ResolveWebsiteDataManagerMethod "getLocalStorageDirectory" o = WebsiteDataManagerGetLocalStorageDirectoryMethodInfo
    ResolveWebsiteDataManagerMethod "getOfflineApplicationCacheDirectory" o = WebsiteDataManagerGetOfflineApplicationCacheDirectoryMethodInfo
    ResolveWebsiteDataManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveWebsiteDataManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveWebsiteDataManagerMethod "getWebsqlDirectory" o = WebsiteDataManagerGetWebsqlDirectoryMethodInfo
    ResolveWebsiteDataManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveWebsiteDataManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveWebsiteDataManagerMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveWebsiteDataManagerMethod t WebsiteDataManager, O.MethodInfo info WebsiteDataManager p) => O.IsLabelProxy t (WebsiteDataManager -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveWebsiteDataManagerMethod t WebsiteDataManager, O.MethodInfo info WebsiteDataManager p) => O.IsLabel t (WebsiteDataManager -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- VVV Prop "base-cache-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

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

constructWebsiteDataManagerBaseCacheDirectory :: (IsWebsiteDataManager o) => T.Text -> IO (GValueConstruct o)
constructWebsiteDataManagerBaseCacheDirectory val = constructObjectPropertyString "base-cache-directory" (Just val)

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

-- VVV Prop "base-data-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

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

constructWebsiteDataManagerBaseDataDirectory :: (IsWebsiteDataManager o) => T.Text -> IO (GValueConstruct o)
constructWebsiteDataManagerBaseDataDirectory val = constructObjectPropertyString "base-data-directory" (Just val)

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

-- VVV Prop "disk-cache-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

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

constructWebsiteDataManagerDiskCacheDirectory :: (IsWebsiteDataManager o) => T.Text -> IO (GValueConstruct o)
constructWebsiteDataManagerDiskCacheDirectory val = constructObjectPropertyString "disk-cache-directory" (Just val)

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

-- VVV Prop "indexeddb-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

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

constructWebsiteDataManagerIndexeddbDirectory :: (IsWebsiteDataManager o) => T.Text -> IO (GValueConstruct o)
constructWebsiteDataManagerIndexeddbDirectory val = constructObjectPropertyString "indexeddb-directory" (Just val)

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

-- VVV Prop "local-storage-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

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

constructWebsiteDataManagerLocalStorageDirectory :: (IsWebsiteDataManager o) => T.Text -> IO (GValueConstruct o)
constructWebsiteDataManagerLocalStorageDirectory val = constructObjectPropertyString "local-storage-directory" (Just val)

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

-- VVV Prop "offline-application-cache-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

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

constructWebsiteDataManagerOfflineApplicationCacheDirectory :: (IsWebsiteDataManager o) => T.Text -> IO (GValueConstruct o)
constructWebsiteDataManagerOfflineApplicationCacheDirectory val = constructObjectPropertyString "offline-application-cache-directory" (Just val)

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

-- VVV Prop "websql-directory"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

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

constructWebsiteDataManagerWebsqlDirectory :: (IsWebsiteDataManager o) => T.Text -> IO (GValueConstruct o)
constructWebsiteDataManagerWebsqlDirectory val = constructObjectPropertyString "websql-directory" (Just val)

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

instance O.HasAttributeList WebsiteDataManager
type instance O.AttributeList WebsiteDataManager = WebsiteDataManagerAttributeList
type WebsiteDataManagerAttributeList = ('[ '("baseCacheDirectory", WebsiteDataManagerBaseCacheDirectoryPropertyInfo), '("baseDataDirectory", WebsiteDataManagerBaseDataDirectoryPropertyInfo), '("diskCacheDirectory", WebsiteDataManagerDiskCacheDirectoryPropertyInfo), '("indexeddbDirectory", WebsiteDataManagerIndexeddbDirectoryPropertyInfo), '("localStorageDirectory", WebsiteDataManagerLocalStorageDirectoryPropertyInfo), '("offlineApplicationCacheDirectory", WebsiteDataManagerOfflineApplicationCacheDirectoryPropertyInfo), '("websqlDirectory", WebsiteDataManagerWebsqlDirectoryPropertyInfo)] :: [(Symbol, *)])

websiteDataManagerBaseCacheDirectory :: AttrLabelProxy "baseCacheDirectory"
websiteDataManagerBaseCacheDirectory = AttrLabelProxy

websiteDataManagerBaseDataDirectory :: AttrLabelProxy "baseDataDirectory"
websiteDataManagerBaseDataDirectory = AttrLabelProxy

websiteDataManagerDiskCacheDirectory :: AttrLabelProxy "diskCacheDirectory"
websiteDataManagerDiskCacheDirectory = AttrLabelProxy

websiteDataManagerIndexeddbDirectory :: AttrLabelProxy "indexeddbDirectory"
websiteDataManagerIndexeddbDirectory = AttrLabelProxy

websiteDataManagerLocalStorageDirectory :: AttrLabelProxy "localStorageDirectory"
websiteDataManagerLocalStorageDirectory = AttrLabelProxy

websiteDataManagerOfflineApplicationCacheDirectory :: AttrLabelProxy "offlineApplicationCacheDirectory"
websiteDataManagerOfflineApplicationCacheDirectory = AttrLabelProxy

websiteDataManagerWebsqlDirectory :: AttrLabelProxy "websqlDirectory"
websiteDataManagerWebsqlDirectory = AttrLabelProxy

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

-- method WebsiteDataManager::get_base_cache_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitWebsiteDataManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->               -- manager : TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"})
    IO CString

{- |
Get the 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/base-cache-directory/@ property.

@since 2.10
-}
websiteDataManagerGetBaseCacheDirectory ::
    (B.CallStack.HasCallStack, MonadIO m, IsWebsiteDataManager a) =>
    a
    {- ^ /@manager@/: a 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager' -}
    -> m T.Text
    {- ^ __Returns:__ the base directory for Website cache, or 'Nothing' if
   'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/base-cache-directory/@ was not provided. -}
websiteDataManagerGetBaseCacheDirectory manager = liftIO $ do
    manager' <- unsafeManagedPtrCastPtr manager
    result <- webkit_website_data_manager_get_base_cache_directory manager'
    checkUnexpectedReturnNULL "websiteDataManagerGetBaseCacheDirectory" result
    result' <- cstringToText result
    touchManagedPtr manager
    return result'

data WebsiteDataManagerGetBaseCacheDirectoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsWebsiteDataManager a) => O.MethodInfo WebsiteDataManagerGetBaseCacheDirectoryMethodInfo a signature where
    overloadedMethod _ = websiteDataManagerGetBaseCacheDirectory

-- method WebsiteDataManager::get_base_data_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitWebsiteDataManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->               -- manager : TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"})
    IO CString

{- |
Get the 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/base-data-directory/@ property.

@since 2.10
-}
websiteDataManagerGetBaseDataDirectory ::
    (B.CallStack.HasCallStack, MonadIO m, IsWebsiteDataManager a) =>
    a
    {- ^ /@manager@/: a 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager' -}
    -> m T.Text
    {- ^ __Returns:__ the base directory for Website data, or 'Nothing' if
   'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/base-data-directory/@ was not provided. -}
websiteDataManagerGetBaseDataDirectory manager = liftIO $ do
    manager' <- unsafeManagedPtrCastPtr manager
    result <- webkit_website_data_manager_get_base_data_directory manager'
    checkUnexpectedReturnNULL "websiteDataManagerGetBaseDataDirectory" result
    result' <- cstringToText result
    touchManagedPtr manager
    return result'

data WebsiteDataManagerGetBaseDataDirectoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsWebsiteDataManager a) => O.MethodInfo WebsiteDataManagerGetBaseDataDirectoryMethodInfo a signature where
    overloadedMethod _ = websiteDataManagerGetBaseDataDirectory

-- method WebsiteDataManager::get_disk_cache_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitWebsiteDataManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->               -- manager : TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"})
    IO CString

{- |
Get the 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/disk-cache-directory/@ property.

@since 2.10
-}
websiteDataManagerGetDiskCacheDirectory ::
    (B.CallStack.HasCallStack, MonadIO m, IsWebsiteDataManager a) =>
    a
    {- ^ /@manager@/: a 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager' -}
    -> m T.Text
    {- ^ __Returns:__ the directory where HTTP disk cache is stored. -}
websiteDataManagerGetDiskCacheDirectory manager = liftIO $ do
    manager' <- unsafeManagedPtrCastPtr manager
    result <- webkit_website_data_manager_get_disk_cache_directory manager'
    checkUnexpectedReturnNULL "websiteDataManagerGetDiskCacheDirectory" result
    result' <- cstringToText result
    touchManagedPtr manager
    return result'

data WebsiteDataManagerGetDiskCacheDirectoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsWebsiteDataManager a) => O.MethodInfo WebsiteDataManagerGetDiskCacheDirectoryMethodInfo a signature where
    overloadedMethod _ = websiteDataManagerGetDiskCacheDirectory

-- method WebsiteDataManager::get_indexeddb_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitWebsiteDataManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->               -- manager : TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"})
    IO CString

{- |
Get the 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/indexeddb-directory/@ property.

@since 2.10
-}
websiteDataManagerGetIndexeddbDirectory ::
    (B.CallStack.HasCallStack, MonadIO m, IsWebsiteDataManager a) =>
    a
    {- ^ /@manager@/: a 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager' -}
    -> m T.Text
    {- ^ __Returns:__ the directory where IndexedDB databases are stored. -}
websiteDataManagerGetIndexeddbDirectory manager = liftIO $ do
    manager' <- unsafeManagedPtrCastPtr manager
    result <- webkit_website_data_manager_get_indexeddb_directory manager'
    checkUnexpectedReturnNULL "websiteDataManagerGetIndexeddbDirectory" result
    result' <- cstringToText result
    touchManagedPtr manager
    return result'

data WebsiteDataManagerGetIndexeddbDirectoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsWebsiteDataManager a) => O.MethodInfo WebsiteDataManagerGetIndexeddbDirectoryMethodInfo a signature where
    overloadedMethod _ = websiteDataManagerGetIndexeddbDirectory

-- method WebsiteDataManager::get_local_storage_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitWebsiteDataManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->               -- manager : TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"})
    IO CString

{- |
Get the 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/local-storage-directory/@ property.

@since 2.10
-}
websiteDataManagerGetLocalStorageDirectory ::
    (B.CallStack.HasCallStack, MonadIO m, IsWebsiteDataManager a) =>
    a
    {- ^ /@manager@/: a 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager' -}
    -> m T.Text
    {- ^ __Returns:__ the directory where local storage data is stored. -}
websiteDataManagerGetLocalStorageDirectory manager = liftIO $ do
    manager' <- unsafeManagedPtrCastPtr manager
    result <- webkit_website_data_manager_get_local_storage_directory manager'
    checkUnexpectedReturnNULL "websiteDataManagerGetLocalStorageDirectory" result
    result' <- cstringToText result
    touchManagedPtr manager
    return result'

data WebsiteDataManagerGetLocalStorageDirectoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsWebsiteDataManager a) => O.MethodInfo WebsiteDataManagerGetLocalStorageDirectoryMethodInfo a signature where
    overloadedMethod _ = websiteDataManagerGetLocalStorageDirectory

-- method WebsiteDataManager::get_offline_application_cache_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitWebsiteDataManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->               -- manager : TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"})
    IO CString

{- |
Get the 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/offline-application-cache-directory/@ property.

@since 2.10
-}
websiteDataManagerGetOfflineApplicationCacheDirectory ::
    (B.CallStack.HasCallStack, MonadIO m, IsWebsiteDataManager a) =>
    a
    {- ^ /@manager@/: a 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager' -}
    -> m T.Text
    {- ^ __Returns:__ the directory where offline web application cache is stored. -}
websiteDataManagerGetOfflineApplicationCacheDirectory manager = liftIO $ do
    manager' <- unsafeManagedPtrCastPtr manager
    result <- webkit_website_data_manager_get_offline_application_cache_directory manager'
    checkUnexpectedReturnNULL "websiteDataManagerGetOfflineApplicationCacheDirectory" result
    result' <- cstringToText result
    touchManagedPtr manager
    return result'

data WebsiteDataManagerGetOfflineApplicationCacheDirectoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsWebsiteDataManager a) => O.MethodInfo WebsiteDataManagerGetOfflineApplicationCacheDirectoryMethodInfo a signature where
    overloadedMethod _ = websiteDataManagerGetOfflineApplicationCacheDirectory

-- method WebsiteDataManager::get_websql_directory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "manager", argType = TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #WebKitWebsiteDataManager", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->               -- manager : TInterface (Name {namespace = "WebKit2", name = "WebsiteDataManager"})
    IO CString

{- |
Get the 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager':@/websql-directory/@ property.

@since 2.10
-}
websiteDataManagerGetWebsqlDirectory ::
    (B.CallStack.HasCallStack, MonadIO m, IsWebsiteDataManager a) =>
    a
    {- ^ /@manager@/: a 'GI.WebKit2.Objects.WebsiteDataManager.WebsiteDataManager' -}
    -> m T.Text
    {- ^ __Returns:__ the directory where WebSQL databases are stored. -}
websiteDataManagerGetWebsqlDirectory manager = liftIO $ do
    manager' <- unsafeManagedPtrCastPtr manager
    result <- webkit_website_data_manager_get_websql_directory manager'
    checkUnexpectedReturnNULL "websiteDataManagerGetWebsqlDirectory" result
    result' <- cstringToText result
    touchManagedPtr manager
    return result'

data WebsiteDataManagerGetWebsqlDirectoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsWebsiteDataManager a) => O.MethodInfo WebsiteDataManagerGetWebsqlDirectoryMethodInfo a signature where
    overloadedMethod _ = websiteDataManagerGetWebsqlDirectory