gi-glib-2.0.17: GLib bindings

Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com)
Safe Haskell | None
Language | Haskell2010

GI.GLib.Structs.Checksum

Contents

- Exported types
- Methods
  - copy
  - free
  - getString
  - new
  - reset
  - typeGetLength
  - update

Description

An opaque structure representing a checksumming operation. To create a new GChecksum, use `checksumNew`. To free a GChecksum, use `checksumFree`.

Since: 2.16

Synopsis

- newtype Checksum = Checksum (ManagedPtr Checksum)
- noChecksum :: Maybe Checksum
- checksumCopy :: (HasCallStack, MonadIO m) => Checksum -> m Checksum
- checksumFree :: (HasCallStack, MonadIO m) => Checksum -> m ()
- checksumGetString :: (HasCallStack, MonadIO m) => Checksum -> m Text
- checksumNew :: (HasCallStack, MonadIO m) => ChecksumType -> m Checksum
- checksumReset :: (HasCallStack, MonadIO m) => Checksum -> m ()
- checksumTypeGetLength :: (HasCallStack, MonadIO m) => ChecksumType -> m Int64
- checksumUpdate :: (HasCallStack, MonadIO m) => Checksum -> ByteString -> m ()

# Exported types

newtype Checksum Source #

Memory-managed wrapper type.

Constructors

Checksum (ManagedPtr Checksum) |

Instances

BoxedObject Checksum Source # |
Instance details Defined in GI.GLib.Structs.Checksum Methods boxedType :: Checksum -> IO GType Source #

noChecksum :: Maybe Checksum Source #

A convenience alias for `Nothing` :: `Maybe` `Checksum`.

# Methods

## copy

checksumCopy Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Checksum | `checksum`: the `Checksum` to copy
-> m Checksum | Returns: the copy of the passed `Checksum`. Use `checksumFree` when finished using it.

Copies a `Checksum`. If `checksum` has been closed, by calling `checksumGetString` or `g_checksum_get_digest()`, the copied checksum will be closed as well.

Since: 2.16

## free

checksumFree Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Checksum | `checksum`: a `Checksum`
-> m () |

Frees the memory allocated for `checksum`.

Since: 2.16

## getString

checksumGetString Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Checksum | `checksum`: a `Checksum`
-> m Text | Returns: the hexadecimal representation of the checksum. The returned string is owned by the checksum and should not be modified or freed.

Gets the digest as an hexadecimal string.

Once this function has been called the `Checksum` can no longer be updated with `checksumUpdate`.

The hexadecimal characters will be lower case.

Since: 2.16

## new

checksumNew Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> ChecksumType | `checksumType`: the desired type of checksum
-> m Checksum | Returns: the newly created `Checksum`, or `Nothing`. Use `checksumFree` to free the memory allocated by it.

Creates a new `Checksum`, using the checksum algorithm `checksumType`. If the `checksumType` is not known, `Nothing` is returned. A `Checksum` can be used to compute the checksum, or digest, of an arbitrary binary blob, using different hashing algorithms.

A `Checksum` works by feeding a binary blob through `checksumUpdate` until there is data to be checked; the digest can then be extracted using `checksumGetString`, which will return the checksum as a hexadecimal string; or `g_checksum_get_digest()`, which will return a vector of raw bytes. Once either `checksumGetString` or `g_checksum_get_digest()` have been called on a `Checksum`, the checksum will be closed and it won't be possible to call `checksumUpdate` on it anymore.

Since: 2.16

## reset

checksumReset Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Checksum | `checksum`: the `Checksum` to reset
-> m () |

Resets the state of the `checksum` back to its initial state.

Since: 2.18

## typeGetLength

checksumTypeGetLength Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> ChecksumType | `checksumType`: a `ChecksumType`
-> m Int64 | Returns: the checksum length, or -1 if `checksumType` is not supported.

Gets the length in bytes of digests of type `checksumType`

Since: 2.16

## update

checksumUpdate Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Checksum | `checksum`: a `Checksum`
-> ByteString | `data`: buffer used to compute the checksum
-> m () |

Feeds `data` into an existing `Checksum`. The checksum must still be open, that is `checksumGetString` or `g_checksum_get_digest()` must not have been called on `checksum`.

Since: 2.16