| Copyright | (c) 2024 Illia Shkroba |
|---|---|
| License | BSD3 |
| Maintainer | Illia Shkroba <is@pjwstk.edu.pl> |
| 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 Entrys 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 Entrys originPath does not exist.
Since: 0.1.0.0
purge :: forall m. (MonadError PurgeError m, MonadIO m) => Profile -> m () Source #
Forcibly remove originPaths of a Profiles Entryies.
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
| |