| Gtk2Hs | Contents | Index

System.Gnome.VFS.Xfer

Maintainer | gtk2hs-devel@lists.sourceforge.net Stability : alpha Portability : portable (depends on GHC)

Contents

Types
Operations

Description
Synopsis

data XferProgressInfo = XferProgressInfo {

xferProgressInfoVFSStatus :: Result
xferProgressInfoPhase :: XferPhase
xferProgressInfoSourceName :: Maybe String
xferProgressInfoTargetName :: Maybe String
xferProgressInfoFileIndex :: Word
xferProgressInfoFilesTotal :: Word
xferProgressInfoBytesTotal :: FileSize
xferProgressInfoFileSize :: FileSize
xferProgressInfoBytesCopied :: FileSize
xferProgressInfoTotalBytesCopied :: FileSize
xferProgressInfoTopLevelItem :: Bool

}

data XferOptions

= XferFollowLinks
| XferRecursive
| XferSamefs
| XferDeleteItems
| XferEmptyDirectories
| XferNewUniqueDirectory
| XferRemovesource
| XferUseUniqueNames
| XferLinkItems
| XferFollowLinksRecursive
| XferTargetDefaultPerms

data XferOverwriteMode

= XferOverwriteModeAbort
| XferOverwriteModeReplace
| XferOverwriteModeSkip

data XferErrorAction

= XferErrorActionAbort
| XferErrorActionRetry
| XferErrorActionSkip

data XferOverwriteAction

= XferOverwriteActionAbort
| XferOverwriteActionReplace
| XferOverwriteActionReplaceAll
| XferOverwriteActionSkip
| XferOverwriteActionSkipAll

type XferProgressCallback = XferProgressInfo -> IO Bool
type XferErrorCallback = XferProgressInfo -> IO XferErrorAction
type XferOverwriteCallback = XferProgressInfo -> IO XferOverwriteAction
type XferDuplicateCallback = XferProgressInfo -> String -> Int -> IO (Maybe String)
xferURI :: URI -> URI -> [XferOptions] -> Maybe XferProgressCallback -> Maybe XferErrorCallback -> Either XferOverwriteMode XferOverwriteCallback -> Maybe XferDuplicateCallback -> IO ()
xferURIList :: [(URI, URI)] -> [XferOptions] -> Maybe XferProgressCallback -> Maybe XferErrorCallback -> Either XferOverwriteMode XferOverwriteCallback -> Maybe XferDuplicateCallback -> IO ()
xferDeleteList :: [URI] -> [XferOptions] -> Maybe XferProgressCallback -> Maybe XferErrorCallback -> IO ()

Types
data XferProgressInfo

Constructors

XferProgressInfo |

xferProgressInfoVFSStatus :: Result | current VFS status
xferProgressInfoPhase :: XferPhase | phase of the transfer
xferProgressInfoSourceName :: Maybe String | currently transferring source URI
xferProgressInfoTargetName :: Maybe String | currently transferring target URI
xferProgressInfoFileIndex :: Word | index of the file currently being transferred
xferProgressInfoFilesTotal :: Word | total number of files being transferred
xferProgressInfoBytesTotal :: FileSize | total size of all files in bytes
xferProgressInfoFileSize :: FileSize | size of the file currently being transferred
xferProgressInfoBytesCopied :: FileSize | number of bytes already transferred in the current file
xferProgressInfoTotalBytesCopied :: FileSize | total number of bytes already transferred
xferProgressInfoTopLevelItem :: Bool | `True` if the file being transferred is a top-level item; `False` if it is inside a directory

Instances

Eq XferProgressInfo
Storable XferProgressInfo

data XferOptions

Options controlling how the System.Gnome.VFS.Xfer.xferURI and related functions behave.
Constructors

XferFollowLinks |
XferRecursive |
XferSamefs |
XferDeleteItems |
XferEmptyDirectories |
XferNewUniqueDirectory |
XferRemovesource |
XferUseUniqueNames |
XferLinkItems |
XferFollowLinksRecursive |
XferTargetDefaultPerms |

Instances

Bounded XferOptions
Enum XferOptions
Eq XferOptions
Show XferOptions
Flags XferOptions

data XferOverwriteMode

Constructors

XferOverwriteModeAbort |
XferOverwriteModeReplace |
XferOverwriteModeSkip |

Instances

Enum XferOverwriteMode
Eq XferOverwriteMode
Show XferOverwriteMode

data XferErrorAction

Constructors

XferErrorActionAbort |
XferErrorActionRetry |
XferErrorActionSkip |

Instances

Enum XferErrorAction
Eq XferErrorAction
Show XferErrorAction

data XferOverwriteAction

Constructors

XferOverwriteActionAbort |
XferOverwriteActionReplace |
XferOverwriteActionReplaceAll |
XferOverwriteActionSkip |
XferOverwriteActionSkipAll |

Instances

Enum XferOverwriteAction
Eq XferOverwriteAction
Show XferOverwriteAction

type XferProgressCallback = XferProgressInfo -> IO Bool
The type of the first callback that is passed to System.Gnome.VFS.Xfer.xferURI and related functions. This callback will be called periodically during transfers that are progressing normally. The callback must return `False` to abort the transfer, or `True` otherwise.
type XferErrorCallback = XferProgressInfo -> IO XferErrorAction
The type of the second callback that is passed to System.Gnome.VFS.Xfer.xferURI. This callback will be called whenever an error occurs. The callback must return the action to be performed in response to the error.
type XferOverwriteCallback = XferProgressInfo -> IO XferOverwriteAction
The type of the third callback that is passed to System.Gnome.VFS.Xfer.xferURI. This callback will be called when a file would be overwritten. The callback must return the action to be performed when the target file already exists.
type XferDuplicateCallback = XferProgressInfo -> String -> Int -> IO (Maybe String)

The type of the fourth callback that is passed to System.Gnome.VFS.Xfer.xferURI. This callback will be called when a duplicate filename is found.

The parameters, from left to right, are: * `info` - information about the progress of the current transfer, * `duplicateName` - the name of the target file, * `duplicateCount` - the number of duplicates that exist.

The callback must return the new filename that should be used, or `Nothing` to abort.

Operations
xferURI

:: URI | `sourceURI` - the source URI
-> URI | `targetURI` - the target URI
-> [XferOptions] | `options` -
-> Maybe XferProgressCallback | `progressCallback` -
-> Maybe XferErrorCallback | `errorCallback` -
-> Either XferOverwriteMode XferOverwriteCallback | `overwriteOpt` -
-> Maybe XferDuplicateCallback | `duplicateCallback` -
-> IO () |
Transfer the file located at `sourceURI` to `targetURI`, using the specified options and callbacks.

xferURIList

:: [(URI, URI)] | `sourceTargetURIList` -
-> [XferOptions] | `options` -
-> Maybe XferProgressCallback | `progressCallback` -
-> Maybe XferErrorCallback | `errorCallback` -
-> Either XferOverwriteMode XferOverwriteCallback | `overwriteOpt` -
-> Maybe XferDuplicateCallback | `duplicateCallback` -
-> IO () |
For each pair in `sourceTargetURIList`, transfer the file at the first `URI` to the second `URI`.

xferDeleteList

:: [URI] | `sourceURIList` -
-> [XferOptions] | `options` -
-> Maybe XferProgressCallback | `progressCallback` -
-> Maybe XferErrorCallback | `errorCallback` -
-> IO () |
Delete the files at the `URI`s in `sourceURIList`.

Produced by Haddock version 2.4.2