gi-ostree-1.0.8: GI/OSTree/Objects/ChecksumInputStream.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
/No description available in the introspection data./
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.OSTree.Objects.ChecksumInputStream
(
-- * Exported types
ChecksumInputStream(..) ,
IsChecksumInputStream ,
toChecksumInputStream ,
noChecksumInputStream ,
-- * Methods
-- ** new #method:new#
checksumInputStreamNew ,
-- * Properties
-- ** checksum #attr:checksum#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
ChecksumInputStreamChecksumPropertyInfo ,
#endif
#if ENABLE_OVERLOADING
checksumInputStreamChecksum ,
#endif
constructChecksumInputStreamChecksum ,
getChecksumInputStreamChecksum ,
) 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.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
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 GHC.OverloadedLabels as OL
import qualified GI.GLib.Structs.Checksum as GLib.Checksum
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Objects.FilterInputStream as Gio.FilterInputStream
import qualified GI.Gio.Objects.InputStream as Gio.InputStream
-- | Memory-managed wrapper type.
newtype ChecksumInputStream = ChecksumInputStream (ManagedPtr ChecksumInputStream)
foreign import ccall "ostree_checksum_input_stream_get_type"
c_ostree_checksum_input_stream_get_type :: IO GType
instance GObject ChecksumInputStream where
gobjectType = c_ostree_checksum_input_stream_get_type
-- | Type class for types which can be safely cast to `ChecksumInputStream`, for instance with `toChecksumInputStream`.
class (GObject o, O.IsDescendantOf ChecksumInputStream o) => IsChecksumInputStream o
instance (GObject o, O.IsDescendantOf ChecksumInputStream o) => IsChecksumInputStream o
instance O.HasParentTypes ChecksumInputStream
type instance O.ParentTypes ChecksumInputStream = '[Gio.FilterInputStream.FilterInputStream, Gio.InputStream.InputStream, GObject.Object.Object]
-- | Cast to `ChecksumInputStream`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toChecksumInputStream :: (MonadIO m, IsChecksumInputStream o) => o -> m ChecksumInputStream
toChecksumInputStream = liftIO . unsafeCastTo ChecksumInputStream
-- | A convenience alias for `Nothing` :: `Maybe` `ChecksumInputStream`.
noChecksumInputStream :: Maybe ChecksumInputStream
noChecksumInputStream = Nothing
#if ENABLE_OVERLOADING
type family ResolveChecksumInputStreamMethod (t :: Symbol) (o :: *) :: * where
ResolveChecksumInputStreamMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveChecksumInputStreamMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveChecksumInputStreamMethod "clearPending" o = Gio.InputStream.InputStreamClearPendingMethodInfo
ResolveChecksumInputStreamMethod "close" o = Gio.InputStream.InputStreamCloseMethodInfo
ResolveChecksumInputStreamMethod "closeAsync" o = Gio.InputStream.InputStreamCloseAsyncMethodInfo
ResolveChecksumInputStreamMethod "closeFinish" o = Gio.InputStream.InputStreamCloseFinishMethodInfo
ResolveChecksumInputStreamMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveChecksumInputStreamMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveChecksumInputStreamMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveChecksumInputStreamMethod "hasPending" o = Gio.InputStream.InputStreamHasPendingMethodInfo
ResolveChecksumInputStreamMethod "isClosed" o = Gio.InputStream.InputStreamIsClosedMethodInfo
ResolveChecksumInputStreamMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveChecksumInputStreamMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveChecksumInputStreamMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveChecksumInputStreamMethod "read" o = Gio.InputStream.InputStreamReadMethodInfo
ResolveChecksumInputStreamMethod "readAll" o = Gio.InputStream.InputStreamReadAllMethodInfo
ResolveChecksumInputStreamMethod "readAllAsync" o = Gio.InputStream.InputStreamReadAllAsyncMethodInfo
ResolveChecksumInputStreamMethod "readAllFinish" o = Gio.InputStream.InputStreamReadAllFinishMethodInfo
ResolveChecksumInputStreamMethod "readAsync" o = Gio.InputStream.InputStreamReadAsyncMethodInfo
ResolveChecksumInputStreamMethod "readBytes" o = Gio.InputStream.InputStreamReadBytesMethodInfo
ResolveChecksumInputStreamMethod "readBytesAsync" o = Gio.InputStream.InputStreamReadBytesAsyncMethodInfo
ResolveChecksumInputStreamMethod "readBytesFinish" o = Gio.InputStream.InputStreamReadBytesFinishMethodInfo
ResolveChecksumInputStreamMethod "readFinish" o = Gio.InputStream.InputStreamReadFinishMethodInfo
ResolveChecksumInputStreamMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveChecksumInputStreamMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveChecksumInputStreamMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveChecksumInputStreamMethod "skip" o = Gio.InputStream.InputStreamSkipMethodInfo
ResolveChecksumInputStreamMethod "skipAsync" o = Gio.InputStream.InputStreamSkipAsyncMethodInfo
ResolveChecksumInputStreamMethod "skipFinish" o = Gio.InputStream.InputStreamSkipFinishMethodInfo
ResolveChecksumInputStreamMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveChecksumInputStreamMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveChecksumInputStreamMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveChecksumInputStreamMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveChecksumInputStreamMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveChecksumInputStreamMethod "getBaseStream" o = Gio.FilterInputStream.FilterInputStreamGetBaseStreamMethodInfo
ResolveChecksumInputStreamMethod "getCloseBaseStream" o = Gio.FilterInputStream.FilterInputStreamGetCloseBaseStreamMethodInfo
ResolveChecksumInputStreamMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveChecksumInputStreamMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveChecksumInputStreamMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveChecksumInputStreamMethod "setCloseBaseStream" o = Gio.FilterInputStream.FilterInputStreamSetCloseBaseStreamMethodInfo
ResolveChecksumInputStreamMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveChecksumInputStreamMethod "setPending" o = Gio.InputStream.InputStreamSetPendingMethodInfo
ResolveChecksumInputStreamMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveChecksumInputStreamMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveChecksumInputStreamMethod t ChecksumInputStream, O.MethodInfo info ChecksumInputStream p) => OL.IsLabel t (ChecksumInputStream -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
-- VVV Prop "checksum"
-- Type: TBasicType TPtr
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-- Nullable: (Nothing,Nothing)
{- |
Get the value of the “@checksum@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' checksumInputStream #checksum
@
-}
getChecksumInputStreamChecksum :: (MonadIO m, IsChecksumInputStream o) => o -> m (Ptr ())
getChecksumInputStreamChecksum obj = liftIO $ B.Properties.getObjectPropertyPtr obj "checksum"
{- |
Construct a `GValueConstruct` with valid value for the “@checksum@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructChecksumInputStreamChecksum :: (IsChecksumInputStream o) => Ptr () -> IO (GValueConstruct o)
constructChecksumInputStreamChecksum val = B.Properties.constructObjectPropertyPtr "checksum" val
#if ENABLE_OVERLOADING
data ChecksumInputStreamChecksumPropertyInfo
instance AttrInfo ChecksumInputStreamChecksumPropertyInfo where
type AttrAllowedOps ChecksumInputStreamChecksumPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ChecksumInputStreamChecksumPropertyInfo = (~) (Ptr ())
type AttrBaseTypeConstraint ChecksumInputStreamChecksumPropertyInfo = IsChecksumInputStream
type AttrGetType ChecksumInputStreamChecksumPropertyInfo = (Ptr ())
type AttrLabel ChecksumInputStreamChecksumPropertyInfo = "checksum"
type AttrOrigin ChecksumInputStreamChecksumPropertyInfo = ChecksumInputStream
attrGet _ = getChecksumInputStreamChecksum
attrSet _ = undefined
attrConstruct _ = constructChecksumInputStreamChecksum
attrClear _ = undefined
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList ChecksumInputStream
type instance O.AttributeList ChecksumInputStream = ChecksumInputStreamAttributeList
type ChecksumInputStreamAttributeList = ('[ '("baseStream", Gio.FilterInputStream.FilterInputStreamBaseStreamPropertyInfo), '("checksum", ChecksumInputStreamChecksumPropertyInfo), '("closeBaseStream", Gio.FilterInputStream.FilterInputStreamCloseBaseStreamPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
checksumInputStreamChecksum :: AttrLabelProxy "checksum"
checksumInputStreamChecksum = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList ChecksumInputStream = ChecksumInputStreamSignalList
type ChecksumInputStreamSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
-- method ChecksumInputStream::new
-- method type : Constructor
-- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TInterface (Name {namespace = "GLib", name = "Checksum"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "ChecksumInputStream"}))
-- throws : False
-- Skip return : False
foreign import ccall "ostree_checksum_input_stream_new" ostree_checksum_input_stream_new ::
Ptr Gio.InputStream.InputStream -> -- stream : TInterface (Name {namespace = "Gio", name = "InputStream"})
Ptr GLib.Checksum.Checksum -> -- checksum : TInterface (Name {namespace = "GLib", name = "Checksum"})
IO (Ptr ChecksumInputStream)
{- |
/No description available in the introspection data./
-}
checksumInputStreamNew ::
(B.CallStack.HasCallStack, MonadIO m, Gio.InputStream.IsInputStream a) =>
a
-> GLib.Checksum.Checksum
-> m ChecksumInputStream
checksumInputStreamNew stream checksum = liftIO $ do
stream' <- unsafeManagedPtrCastPtr stream
checksum' <- unsafeManagedPtrGetPtr checksum
result <- ostree_checksum_input_stream_new stream' checksum'
checkUnexpectedReturnNULL "checksumInputStreamNew" result
result' <- (wrapObject ChecksumInputStream) result
touchManagedPtr stream
touchManagedPtr checksum
return result'
#if ENABLE_OVERLOADING
#endif