Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
Safe Haskell | None |
Language | Haskell2010 |
Private instance structure.
Synopsis
- newtype MutableTree = MutableTree (ManagedPtr MutableTree)
- class (GObject o, IsDescendantOf MutableTree o) => IsMutableTree o
- toMutableTree :: (MonadIO m, IsMutableTree o) => o -> m MutableTree
- noMutableTree :: Maybe MutableTree
- mutableTreeCheckError :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> m ()
- mutableTreeEnsureDir :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> m MutableTree
- mutableTreeEnsureParentDirs :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> [Text] -> Text -> m MutableTree
- mutableTreeFillEmptyFromDirtree :: (HasCallStack, MonadIO m, IsMutableTree a, IsRepo b) => a -> b -> Text -> Text -> m Bool
- mutableTreeGetContentsChecksum :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> m Text
- mutableTreeGetFiles :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> m (Map Text Text)
- mutableTreeGetMetadataChecksum :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> m Text
- mutableTreeLookup :: (HasCallStack, MonadIO m, IsMutableTree a, IsMutableTree b) => a -> Text -> Text -> b -> m ()
- mutableTreeNew :: (HasCallStack, MonadIO m) => m MutableTree
- mutableTreeNewFromChecksum :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Text -> m MutableTree
- mutableTreeRemove :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> Bool -> m ()
- mutableTreeReplaceFile :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> Text -> m ()
- mutableTreeSetContentsChecksum :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> m ()
- mutableTreeSetMetadataChecksum :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> m ()
- mutableTreeWalk :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> [Text] -> Word32 -> m MutableTree
Exported types
newtype MutableTree Source #
Memory-managed wrapper type.
Instances
GObject MutableTree Source # | |
Defined in GI.OSTree.Objects.MutableTree gobjectType :: IO GType # | |
HasParentTypes MutableTree Source # | |
Defined in GI.OSTree.Objects.MutableTree | |
type ParentTypes MutableTree Source # | |
Defined in GI.OSTree.Objects.MutableTree |
class (GObject o, IsDescendantOf MutableTree o) => IsMutableTree o Source #
Type class for types which can be safely cast to MutableTree
, for instance with toMutableTree
.
Instances
(GObject o, IsDescendantOf MutableTree o) => IsMutableTree o Source # | |
Defined in GI.OSTree.Objects.MutableTree |
toMutableTree :: (MonadIO m, IsMutableTree o) => o -> m MutableTree Source #
Cast to MutableTree
, for types for which this is known to be safe. For general casts, use castTo
.
noMutableTree :: Maybe MutableTree Source #
A convenience alias for Nothing
:: Maybe
MutableTree
.
Methods
checkError
mutableTreeCheckError Source #
:: (HasCallStack, MonadIO m, IsMutableTree a) | |
=> a |
|
-> m () | (Can throw |
In some cases, a tree may be in a "lazy" state that loads data in the background; if an error occurred during a non-throwing API call, it will have been cached. This function checks for a cached error. The tree remains in error state.
Since: 2018.7
ensureDir
:: (HasCallStack, MonadIO m, IsMutableTree a) | |
=> a |
|
-> Text |
|
-> m MutableTree | (Can throw |
Returns the subdirectory of self with filename name
, creating an empty one
it if it doesn't exist.
ensureParentDirs
mutableTreeEnsureParentDirs Source #
:: (HasCallStack, MonadIO m, IsMutableTree a) | |
=> a |
|
-> [Text] |
|
-> Text |
|
-> m MutableTree | (Can throw |
Create all parent trees necessary for the given splitPath
to
exist.
fillEmptyFromDirtree
mutableTreeFillEmptyFromDirtree Source #
:: (HasCallStack, MonadIO m, IsMutableTree a, IsRepo b) | |
=> a | |
-> b | |
-> Text | |
-> Text | |
-> m Bool | Returns: This function enables optimisations when composing trees. The provided checksums are not loaded or checked when this function is called. Instead the contents will be loaded only when needed. |
Merges self
with the tree given by contentsChecksum
and
metadataChecksum
, but only if it's possible without writing new objects to
the repo
. We can do this if either self
is empty, the tree given by
contentsChecksum
is empty or if both trees already have the same
contentsChecksum
.
getContentsChecksum
mutableTreeGetContentsChecksum :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> m Text Source #
No description available in the introspection data.
getFiles
:: (HasCallStack, MonadIO m, IsMutableTree a) | |
=> a | |
-> m (Map Text Text) | Returns: All children files (the value is a checksum) |
No description available in the introspection data.
getMetadataChecksum
mutableTreeGetMetadataChecksum :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> m Text Source #
No description available in the introspection data.
lookup
:: (HasCallStack, MonadIO m, IsMutableTree a, IsMutableTree b) | |
=> a | |
-> Text | |
-> Text | |
-> b | |
-> m () | (Can throw |
No description available in the introspection data.
new
:: (HasCallStack, MonadIO m) | |
=> m MutableTree | Returns: A new tree |
No description available in the introspection data.
newFromChecksum
mutableTreeNewFromChecksum Source #
:: (HasCallStack, MonadIO m, IsRepo a) | |
=> a |
|
-> Text |
|
-> Text |
|
-> m MutableTree | Returns: A new tree |
Creates a new OstreeMutableTree with the contents taken from the given repo and checksums. The data will be loaded from the repo lazily as needed.
remove
:: (HasCallStack, MonadIO m, IsMutableTree a) | |
=> a |
|
-> Text |
|
-> Bool |
|
-> m () | (Can throw |
Remove the file or subdirectory named name
from the mutable tree self
.
replaceFile
mutableTreeReplaceFile Source #
:: (HasCallStack, MonadIO m, IsMutableTree a) | |
=> a | |
-> Text | |
-> Text | |
-> m () | (Can throw |
No description available in the introspection data.
setContentsChecksum
mutableTreeSetContentsChecksum :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> m () Source #
No description available in the introspection data.
setMetadataChecksum
mutableTreeSetMetadataChecksum :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> m () Source #
No description available in the introspection data.
walk
:: (HasCallStack, MonadIO m, IsMutableTree a) | |
=> a |
|
-> [Text] |
|
-> Word32 |
|
-> m MutableTree | (Can throw |
Traverse start
number of elements starting from splitPath
; the
child will be returned in outSubdir
.