qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QCryptographicHash.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Core.QCryptographicHash (
QCryptographicHashValue (..),
QCryptographicHashConstPtr (..),
result,
QCryptographicHashPtr (..),
addDataRaw,
addDataByteArray,
addDataIODevice,
reset,
hash,
hashLength,
QCryptographicHashConst (..),
castQCryptographicHashToConst,
QCryptographicHash (..),
castQCryptographicHashToNonconst,
new,
QCryptographicHashSuper (..),
QCryptographicHashSuperConst (..),
QCryptographicHashAlgorithm (..),
) where
import qualified Data.ByteString as QtahDBS
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Core.QByteArray as M12
import qualified Graphics.UI.Qtah.Generated.Core.QIODevice as M48
import Prelude (($), (.), (/=), (=<<), (==), (>>=))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QCryptographicHash_new" new' :: HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QCryptographicHash)
foreign import ccall "genpop__QCryptographicHash_addDataRaw" addDataRaw' :: HoppyF.Ptr QCryptographicHash -> HoppyF.Ptr HoppyFC.CChar -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QCryptographicHash_addDataByteArray" addDataByteArray' :: HoppyF.Ptr QCryptographicHash -> HoppyF.Ptr M12.QByteArrayConst -> HoppyP.IO ()
foreign import ccall "genpop__QCryptographicHash_addDataIODevice" addDataIODevice' :: HoppyF.Ptr QCryptographicHash -> HoppyF.Ptr M48.QIODevice -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QCryptographicHash_hash" hash' :: HoppyF.Ptr M12.QByteArrayConst -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M12.QByteArrayConst)
foreign import ccall "genpop__QCryptographicHash_hashLength" hashLength' :: HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QCryptographicHash_reset" reset' :: HoppyF.Ptr QCryptographicHash -> HoppyP.IO ()
foreign import ccall "genpop__QCryptographicHash_result" result' :: HoppyF.Ptr QCryptographicHashConst -> HoppyP.IO (HoppyF.Ptr M12.QByteArrayConst)
foreign import ccall "gendel__QCryptographicHash" delete'QCryptographicHash :: HoppyF.Ptr QCryptographicHashConst -> HoppyP.IO ()
foreign import ccall "&gendel__QCryptographicHash" deletePtr'QCryptographicHash :: HoppyF.FunPtr (HoppyF.Ptr QCryptographicHashConst -> HoppyP.IO ())
class QCryptographicHashValue a where
withQCryptographicHashPtr :: a -> (QCryptographicHashConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QCryptographicHashConstPtr a => QCryptographicHashValue a where
withQCryptographicHashPtr = HoppyP.flip ($) . toQCryptographicHashConst
class (HoppyFHR.CppPtr this) => QCryptographicHashConstPtr this where
toQCryptographicHashConst :: this -> QCryptographicHashConst
result :: (QCryptographicHashValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahDBS.ByteString)
result arg'1 =
withQCryptographicHashPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M12.QByteArrayConst) =<<
(result' arg'1')
class (QCryptographicHashConstPtr this) => QCryptographicHashPtr this where
toQCryptographicHash :: this -> QCryptographicHash
addDataRaw :: (QCryptographicHashPtr this) => (this) {- ^ this -} -> (HoppyF.Ptr HoppyFC.CChar) -> (HoppyP.Int) -> (HoppyP.IO ())
addDataRaw arg'1 arg'2 arg'3 =
HoppyFHR.withCppPtr (toQCryptographicHash arg'1) $ \arg'1' ->
let arg'2' = arg'2 in
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'3 >>= \arg'3' ->
(addDataRaw' arg'1' arg'2' arg'3')
addDataByteArray :: (QCryptographicHashPtr this, M12.QByteArrayValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
addDataByteArray arg'1 arg'2 =
HoppyFHR.withCppPtr (toQCryptographicHash arg'1) $ \arg'1' ->
M12.withQByteArrayPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(addDataByteArray' arg'1' arg'2')
addDataIODevice :: (QCryptographicHashPtr this, M48.QIODevicePtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
addDataIODevice arg'1 arg'2 =
HoppyFHR.withCppPtr (toQCryptographicHash arg'1) $ \arg'1' ->
HoppyFHR.withCppPtr (M48.toQIODevice arg'2) $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(addDataIODevice' arg'1' arg'2')
reset :: (QCryptographicHashPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
reset arg'1 =
HoppyFHR.withCppPtr (toQCryptographicHash arg'1) $ \arg'1' ->
(reset' arg'1')
hash :: (M12.QByteArrayValue arg'1) => (arg'1) -> (QCryptographicHashAlgorithm) -> (HoppyP.IO QtahDBS.ByteString)
hash arg'1 arg'2 =
M12.withQByteArrayPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'2 >>= \arg'2' ->
(HoppyFHR.decodeAndDelete . M12.QByteArrayConst) =<<
(hash' arg'1' arg'2')
hashLength :: (QCryptographicHashAlgorithm) -> (HoppyP.IO HoppyP.Int)
hashLength arg'1 =
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'1 >>= \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(hashLength' arg'1')
data QCryptographicHashConst =
QCryptographicHashConst (HoppyF.Ptr QCryptographicHashConst)
| QCryptographicHashConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QCryptographicHashConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QCryptographicHashConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QCryptographicHashConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQCryptographicHashToConst :: QCryptographicHash -> QCryptographicHashConst
castQCryptographicHashToConst (QCryptographicHash ptr') = QCryptographicHashConst $ HoppyF.castPtr ptr'
castQCryptographicHashToConst (QCryptographicHashGc fptr' ptr') = QCryptographicHashConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QCryptographicHashConst where
nullptr = QCryptographicHashConst HoppyF.nullPtr
withCppPtr (QCryptographicHashConst ptr') f' = f' ptr'
withCppPtr (QCryptographicHashConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QCryptographicHashConst ptr') = ptr'
toPtr (QCryptographicHashConstGc _ ptr') = ptr'
touchCppPtr (QCryptographicHashConst _) = HoppyP.return ()
touchCppPtr (QCryptographicHashConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QCryptographicHashConst where
delete (QCryptographicHashConst ptr') = delete'QCryptographicHash ptr'
delete (QCryptographicHashConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QCryptographicHashConst", " object."]
toGc this'@(QCryptographicHashConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QCryptographicHashConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QCryptographicHash :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QCryptographicHashConstGc {}) = HoppyP.return this'
instance QCryptographicHashConstPtr QCryptographicHashConst where
toQCryptographicHashConst = HoppyP.id
data QCryptographicHash =
QCryptographicHash (HoppyF.Ptr QCryptographicHash)
| QCryptographicHashGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QCryptographicHash)
deriving (HoppyP.Show)
instance HoppyP.Eq QCryptographicHash where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QCryptographicHash where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQCryptographicHashToNonconst :: QCryptographicHashConst -> QCryptographicHash
castQCryptographicHashToNonconst (QCryptographicHashConst ptr') = QCryptographicHash $ HoppyF.castPtr ptr'
castQCryptographicHashToNonconst (QCryptographicHashConstGc fptr' ptr') = QCryptographicHashGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QCryptographicHash where
nullptr = QCryptographicHash HoppyF.nullPtr
withCppPtr (QCryptographicHash ptr') f' = f' ptr'
withCppPtr (QCryptographicHashGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QCryptographicHash ptr') = ptr'
toPtr (QCryptographicHashGc _ ptr') = ptr'
touchCppPtr (QCryptographicHash _) = HoppyP.return ()
touchCppPtr (QCryptographicHashGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QCryptographicHash where
delete (QCryptographicHash ptr') = delete'QCryptographicHash $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QCryptographicHashConst)
delete (QCryptographicHashGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QCryptographicHash", " object."]
toGc this'@(QCryptographicHash ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QCryptographicHashGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QCryptographicHash :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QCryptographicHashGc {}) = HoppyP.return this'
instance QCryptographicHashConstPtr QCryptographicHash where
toQCryptographicHashConst (QCryptographicHash ptr') = QCryptographicHashConst $ (HoppyF.castPtr :: HoppyF.Ptr QCryptographicHash -> HoppyF.Ptr QCryptographicHashConst) ptr'
toQCryptographicHashConst (QCryptographicHashGc fptr' ptr') = QCryptographicHashConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QCryptographicHash -> HoppyF.Ptr QCryptographicHashConst) ptr'
instance QCryptographicHashPtr QCryptographicHash where
toQCryptographicHash = HoppyP.id
new :: (QCryptographicHashAlgorithm) -> (HoppyP.IO QCryptographicHash)
new arg'1 =
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'1 >>= \arg'1' ->
HoppyP.fmap QCryptographicHash
(new' arg'1')
class QCryptographicHashSuper a where
downToQCryptographicHash :: a -> QCryptographicHash
class QCryptographicHashSuperConst a where
downToQCryptographicHashConst :: a -> QCryptographicHashConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QCryptographicHash)) QCryptographicHash where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QCryptographicHash)) QCryptographicHash where
decode = HoppyP.fmap QCryptographicHash . HoppyF.peek
data QCryptographicHashAlgorithm =
Md4
| Md5
| Sha1
| Sha224
| Sha256
| Sha384
| Sha512
| Sha3224
| Sha3256
| Sha3384
| Sha3512
| Keccak224
| Keccak256
| Keccak384
| Keccak512
| UnknownQCryptographicHashAlgorithm (HoppyFC.CInt)
deriving (HoppyP.Show)
instance HoppyFHR.CppEnum (HoppyFC.CInt) QCryptographicHashAlgorithm where
fromCppEnum Md4 = 0
fromCppEnum Md5 = 1
fromCppEnum Sha1 = 2
fromCppEnum Sha224 = 3
fromCppEnum Sha256 = 4
fromCppEnum Sha384 = 5
fromCppEnum Sha512 = 6
fromCppEnum Sha3224 = 11
fromCppEnum Sha3256 = 12
fromCppEnum Sha3384 = 13
fromCppEnum Sha3512 = 14
fromCppEnum Keccak224 = 7
fromCppEnum Keccak256 = 8
fromCppEnum Keccak384 = 9
fromCppEnum Keccak512 = 10
fromCppEnum (UnknownQCryptographicHashAlgorithm n) = n
toCppEnum (0) = Md4
toCppEnum (1) = Md5
toCppEnum (2) = Sha1
toCppEnum (3) = Sha224
toCppEnum (4) = Sha256
toCppEnum (5) = Sha384
toCppEnum (6) = Sha512
toCppEnum (7) = Keccak224
toCppEnum (8) = Keccak256
toCppEnum (9) = Keccak384
toCppEnum (10) = Keccak512
toCppEnum (11) = Sha3224
toCppEnum (12) = Sha3256
toCppEnum (13) = Sha3384
toCppEnum (14) = Sha3512
toCppEnum n = UnknownQCryptographicHashAlgorithm n
instance HoppyP.Eq QCryptographicHashAlgorithm where
x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y
instance HoppyP.Ord QCryptographicHashAlgorithm where
compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)