Graphics.UI.Gtk.WebKit.Download

webkit-0.12.4: Binding to the Webkit library.

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net
Safe Haskell | None

Graphics.UI.Gtk.WebKit.Download

Contents

- Description
- Types
- Enums
- Constructors
- Methods
- Attributes
- Signals

Description

Object used to communicate with the application when downloading

Synopsis

- data Download
- class GObjectClass o => DownloadClass o
- data DownloadError
  - = DownloadErrorCancelledByUser
  - | DownloadErrorDestination
  - | DownloadErrorNetwork
- data DownloadStatus
  - = DownloadStatusError
  - | DownloadStatusCreated
  - | DownloadStatusStarted
  - | DownloadStatusCancelled
  - | DownloadStatusFinished
- downloadNew :: NetworkRequestClass request => request -> IO Download
- downloadStart :: DownloadClass self => self -> IO ()
- downloadCancel :: DownloadClass self => self -> IO ()
- downloadGetUri :: DownloadClass self => self -> IO (Maybe String)
- downloadGetNetworkRequest :: DownloadClass self => self -> IO NetworkRequest
- downloadGetNetworkResponse :: DownloadClass self => self -> IO NetworkResponse
- downloadGetSuggestedFilename :: DownloadClass self => self -> IO (Maybe String)
- downloadGetDestinationUri :: DownloadClass self => self -> IO (Maybe String)
- downloadGetProgress :: DownloadClass self => self -> IO Double
- downloadGetElapsedTime :: DownloadClass self => self -> IO Double
- downloadGetTotalSize :: DownloadClass self => self -> IO Int
- downloadGetCurrentSize :: DownloadClass self => self -> IO Int
- downloadGetStatus :: DownloadClass self => self -> IO DownloadStatus
- downloadSetDestinationUri :: DownloadClass self => self -> String -> IO ()
- currentSize :: DownloadClass self => ReadAttr self Int
- destinationUri :: DownloadClass self => Attr self (Maybe String)
- networkRequest :: DownloadClass self => Attr self NetworkRequest
- networkResponse :: DownloadClass self => Attr self NetworkResponse
- progress :: DownloadClass self => ReadAttr self Double
- status :: DownloadClass self => ReadAttr self DownloadStatus
- suggestedFilename :: DownloadClass self => ReadAttr self (Maybe String)
- totalSize :: DownloadClass self => ReadAttr self Int
- downloadError :: DownloadClass self => Signal self (Int -> Int -> String -> IO Bool)

# Description

WebKitDownload carries information about a download request, including a WebKitNetworkRequest object. The application may use this object to control the download process, or to simply figure out what is to be downloaded, and do it itself.

# Types

data Download

Instances

Eq Download |
Ord Download |
GObjectClass Download |
DownloadClass Download |

class GObjectClass o => DownloadClass o

Instances

DownloadClass Download |

# Enums

data DownloadError

Constructors

DownloadErrorCancelledByUser |
DownloadErrorDestination |
DownloadErrorNetwork |

Instances

Enum DownloadError |

data DownloadStatus

Constructors

DownloadStatusError |
DownloadStatusCreated |
DownloadStatusStarted |
DownloadStatusCancelled |
DownloadStatusFinished |

Instances

Enum DownloadStatus |

# Constructors

downloadNew :: NetworkRequestClass request => request -> IO Download

Create a new `Download` instance for the given `NetworkRequest`

Object used to communicate with the application when downloading.

# Methods

downloadStart :: DownloadClass self => self -> IO ()

Initiates the `Download`.

Notice that you must have set the destination-uri property before calling this function.

downloadCancel :: DownloadClass self => self -> IO ()

Cancels the `Download`.

downloadGetUri

Arguments

:: DownloadClass self |
=> self |
-> IO (Maybe String) | the uri or `Nothing` in case of failed

Retrieves the URI from `Download` which is being downloaded.

downloadGetNetworkRequest :: DownloadClass self => self -> IO NetworkRequest

Retrieves the `NetworkRequest` that backs the download process.

downloadGetNetworkResponse :: DownloadClass self => self -> IO NetworkResponse

Retrieves the `NetworkResponse` object that backs the download process.

- Since 1.1.16

downloadGetSuggestedFilename

Arguments

:: DownloadClass self |
=> self |
-> IO (Maybe String) | the suggested filename or `Nothing` in case of failed

Retrieves the filename that was suggested by the server, or the one derived from the URI.

downloadGetDestinationUri :: DownloadClass self => self -> IO (Maybe String)

Obtains the URI to which the downloaded file will be written.

It is set by Application before call `downloadStart`

downloadGetProgress

Arguments

:: DownloadClass self |
=> self |
-> IO Double | a `Double` ranging from 0.0 to 1.0

Determines the current progress of the `Download`

downloadGetElapsedTime

Arguments

:: DownloadClass self |
=> self |
-> IO Double | seconds since the `Download` was started.

Return elapsed time for the `Download` in seconds. includeing any fractional part.

If the `Download` is finished, had an error or was cancelled, this is the time between its start and the event.

downloadGetTotalSize

Arguments

:: DownloadClass self |
=> self |
-> IO Int | the expected total size of the downloaded file.

Returns the excepted total size of the download.

This is expected because the server may provide incorrect or missing Content-Length.

Notice that this may grow over time.

downloadGetCurrentSize

Arguments

:: DownloadClass self |
=> self |
-> IO Int | the already downloaded size.

Returns the current already downleaded size

downloadGetStatus

Arguments

:: DownloadClass self |
=> self |
-> IO DownloadStatus | the current `DownloadStatus`

Obtains the current status of the `Download` as `DownloadStatus`

downloadSetDestinationUri

Arguments

:: DownloadClass self |
=> self |
-> String | `destination_uri` - the destination URI
-> IO () |

Defines the URI that should be used to save the downloaded file to.

# Attributes

currentSize :: DownloadClass self => ReadAttr self Int

The length of the data already downloaded

Default value: 0

- Since 1.1.2

destinationUri :: DownloadClass self => Attr self (Maybe String)

The URI of the save location for this download.

Default value: ""

- Since 1.1.2

networkRequest :: DownloadClass self => Attr self NetworkRequest

The NetworkRequest instance associated with the download.

- Since 1.1.2

networkResponse :: DownloadClass self => Attr self NetworkResponse

The NetworkResponse instance associated with the download.

- Since 1.1.16

progress :: DownloadClass self => ReadAttr self Double

Determines the current progress of the download. Notice that, although the progress changes are reported as soon as possible, the emission of the notify signal for this property is throttled, for the benefit of download managers. If you care about every update, use `Download` : currentSize.

Allowed values: [0,1]

Default value: 1

- Since 1.1.2

status :: DownloadClass self => ReadAttr self DownloadStatus

Determines the current status of the download.

Default value: `DownloadStatusCreated`

- Since 1.1.2

suggestedFilename :: DownloadClass self => ReadAttr self (Maybe String)

The file name suggested as default when saving

Default value: ""

- Since 1.1.2

totalSize :: DownloadClass self => ReadAttr self Int

The total size of the file

Default value: 0

- Since 1.1.2

# Signals

downloadError :: DownloadClass self => Signal self (Int -> Int -> String -> IO Bool)

Emitted when download is interrupted either by user action or by network errors, errorDetail will take any value of `DownloadError`.

`download`: the object on which the signal is emitted `errorCode`: the corresponding error code `errorDetail`: detailed error code for the error, see `DownloadError` `reason`: a string describing the error

Since 1.1.2