{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}


{- |
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.OSTree.Constants
    ( 
    pattern WITH_AUTOCLEANUPS               ,
    pattern TREE_GVARIANT_STRING            ,
    pattern TIMESTAMP                       ,
    pattern SUMMARY_SIG_GVARIANT_STRING     ,
    pattern SUMMARY_GVARIANT_STRING         ,
    pattern SHA256_STRING_LEN               ,
    pattern SHA256_DIGEST_LEN               ,
    pattern MAX_RECURSION                   ,
    pattern MAX_METADATA_WARN_SIZE          ,
    pattern MAX_METADATA_SIZE               ,
    pattern FILEMETA_GVARIANT_STRING        ,
    pattern DIRMETA_GVARIANT_STRING         ,
    pattern COMMIT_GVARIANT_STRING          ,

    ) 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


{- |
/No description available in the introspection data./
-}
pattern WITH_AUTOCLEANUPS = 0 :: Int32

{- |
/No description available in the introspection data./
-}
pattern TREE_GVARIANT_STRING = "(a(say)a(sayay))" :: T.Text

{- |
The mtime used for stored files.  This was originally 0, changed to 1 for
a few releases, then was reverted due to regressions it introduced from
users who had been using zero before.
-}
pattern TIMESTAMP = 0 :: Int32

{- |
/No description available in the introspection data./
-}
pattern SUMMARY_SIG_GVARIANT_STRING = "a{sv}" :: T.Text

{- |
/No description available in the introspection data./
-}
pattern SUMMARY_GVARIANT_STRING = "(a(s(taya{sv}))a{sv})" :: T.Text

{- |
Length of a sha256 digest when expressed as a hexadecimal string
-}
pattern SHA256_STRING_LEN = 64 :: Int32

{- |
Length of a sha256 digest when expressed as raw bytes
-}
pattern SHA256_DIGEST_LEN = 32 :: Int32

{- |
Maximum depth of metadata.
-}
pattern MAX_RECURSION = 256 :: Int32

{- |
Objects committed above this size will be allowed, but a warning
will be emitted.
-}
pattern MAX_METADATA_WARN_SIZE = 7340032 :: Int32

{- |
Maximum permitted size in bytes of metadata objects.  This is an
arbitrary number, but really, no one should be putting humongous
data in metadata.
-}
pattern MAX_METADATA_SIZE = 10485760 :: Int32

{- |
/No description available in the introspection data./
-}
pattern FILEMETA_GVARIANT_STRING = "(uuua(ayay))" :: T.Text

{- |
/No description available in the introspection data./
-}
pattern DIRMETA_GVARIANT_STRING = "(uuua(ayay))" :: T.Text

{- |
/No description available in the introspection data./
-}
pattern COMMIT_GVARIANT_STRING = "(a{sv}aya(say)sstayay)" :: T.Text