Copyright | (c) 2024 Illia Shkroba |
---|---|
License | BSD3 |
Maintainer | Illia Shkroba <[email protected]> |
Stability | unstable |
Portability | non-portable (Non-Unix systems are not supported) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
PFile.Profile.Internal.Switch
Description
Types and functions for profiles switching.
Synopsis
- switch :: (MonadError SwitchError m, MonadIO m) => SwitchOptions -> Profile -> Profile -> m ()
- unlink :: (MonadError UnlinkError m, MonadIO m) => SwitchOptions -> Profile -> m ()
- validateLinkedEntry :: (MonadError LinkedEntryValidateError m, MonadIO m) => Entry -> m ()
- link :: forall m. (MonadError LinkError m, MonadIO m) => SwitchOptions -> Profile -> m ()
- unpack :: forall m. (MonadError UnpackError m, MonadIO m) => SwitchOptions -> Profile -> m ()
- validateUnlinkedEntry :: (MonadError UnlinkedEntryValidateError m, MonadIO m) => Entry -> m ()
- purge :: forall m. (MonadError PurgeError m, MonadIO m) => Profile -> m ()
- showSwitchError :: SwitchError -> Text
- data SwitchError
- showUnlinkError :: UnlinkError -> Text
- data UnlinkError
- showLinkedEntryValidateError :: LinkedEntryValidateError -> Text
- data LinkedEntryValidateError
- showLinkError :: LinkError -> Text
- data LinkError
- showUnpackError :: UnpackError -> Text
- data UnpackError
- showUnlinkedEntryValidateError :: UnlinkedEntryValidateError -> Text
- newtype UnlinkedEntryValidateError = OriginOccupiedError Entry
- showPurgeError :: PurgeError -> Text
- data PurgeError
- newtype SwitchOptions = SwitchOptions {}
Documentation
Arguments
:: (MonadError SwitchError m, MonadIO m) | |
=> SwitchOptions | Options that control |
-> Profile | Current profile. |
-> Profile | Next profile. |
-> m () |
unlink :: (MonadError UnlinkError m, MonadIO m) => SwitchOptions -> Profile -> m () Source #
validateLinkedEntry :: (MonadError LinkedEntryValidateError m, MonadIO m) => Entry -> m () Source #
Validate that Entry
s originPath
is a link pointing at mountPath
.
Since: 0.1.0.0
link :: forall m. (MonadError LinkError m, MonadIO m) => SwitchOptions -> Profile -> m () Source #
unpack :: forall m. (MonadError UnpackError m, MonadIO m) => SwitchOptions -> Profile -> m () Source #
validateUnlinkedEntry :: (MonadError UnlinkedEntryValidateError m, MonadIO m) => Entry -> m () Source #
Validate that Entry
s originPath
does not exist.
Since: 0.1.0.0
purge :: forall m. (MonadError PurgeError m, MonadIO m) => Profile -> m () Source #
Forcibly remove originPath
s of a Profile
s Entry
ies.
Since: 0.1.0.0
showSwitchError :: SwitchError -> Text Source #
data SwitchError Source #
Error thrown by switch
.
Since: 0.1.0.0
Constructors
UnlinkCurrentError !UnlinkError | Error was encountered during |
LinkNextError !LinkError | Error was encountered during |
showUnlinkError :: UnlinkError -> Text Source #
data UnlinkError Source #
Error thrown by unlink
.
Since: 0.1.0.0
Constructors
ValidateUnlinkError !LinkedEntryValidateError | Validation error of entries was encountered. |
PurgeUnlinkError !PurgeError | Error was encountered during |
data LinkedEntryValidateError Source #
Error thrown by validateLinkedEntry
.
Since: 0.1.0.0
Constructors
OriginDoesNotExistError !Absolute |
|
OriginCanonicalizeError !Absolute !IOException | Unable to canonicalize |
OriginChangedError !Entry !Absolute |
|
showLinkError :: LinkError -> Text Source #
Error thrown by link
.
Since: 0.1.0.0
Constructors
PurgeLinkError !PurgeError | Error was encountered during |
ValidateLinkError !UnlinkedEntryValidateError | Validation error of entries was encountered. |
LinkRollbackError |
|
LinkError !LinkError |
|
showUnpackError :: UnpackError -> Text Source #
data UnpackError Source #
Error thrown by unpack
.
Since: 0.1.0.0
Constructors
PurgeUnpackError !PurgeError | Error was encountered during |
UnlinkUnpackError !UnlinkError | Error was encountered during |
UnpackRollbackError |
|
Fields
| |
UnpackError !UnpackError |
newtype UnlinkedEntryValidateError Source #
Error thrown by validateUnlinkedEntry
.
Since: 0.1.0.0
Constructors
OriginOccupiedError Entry |
|
showPurgeError :: PurgeError -> Text Source #
data PurgeError Source #
Error thrown by purge
.
Since: 0.1.0.0
Constructors
TrashCanCreateError !CreateError | Error was encountered during |
TrashError !TrashError | Error was encountered during |
PurgeRollbackError |
|
Fields
| |
TrashCanRemoveError !RemoveError | Error was encountered during |
newtype SwitchOptions Source #
switch
options.
Since: 0.1.0.0
Constructors
SwitchOptions | |
Fields
|