stbDownloadManager

stbDownloadManager

Tutorials:

The object provides API to download manager.

Download manager allows adding and scheduling download tasks, which will try to download and store remote file into local storage.

stbDownloadManager object itself does not require any additional initialization. It is always accessible from JavaScript context.


Job states table:

Value Description
0 stopped
1 waiting for queue
2 running
3 completed
4 temporary error
5 permanent error

Methods

(static) AddJob(urlToDownload, filePath) → {boolean}

Add a job for file downloading using URL "urlToDownload".

In case of success local file will be stored in filePath.
By the time of the operation local file should not exist.

Parameters:
Name Type Description
urlToDownload string

address of the file

filePath string

path to local storage pointing to a non-existed file

downloaded file will be stored using this path to the local storage

Returns:

operation status:

Value Description
true job was added successfully
false failure
Type
boolean

(static) AddMeasureJob(urlToDownload) → {boolean}

Similar to stbDownloadManager.AddJob.

Create a special job, that will download given file without saving the result to file storage.

This job is using as connection test facility.
You can calculate download speed (once job is finished) using "timeWasted" and "sizeDone" attributes.

You can only create one such connection at the moment. So, you have to delete it each time you want to create next one.

Parameters:
Name Type Description
urlToDownload string

address must point to a remote file

Returns:

operation status:

Value Description
true job was added successfully
false failure
Type
boolean

(static) AdjustJobPriority(id, direction)

Change priority of the given job.

Priority can either be increased or decreased.

Parameters:
Name Type Description
id number

unique identifier of a job assigned for this operation [-1, 0..4294967295]

direction boolean

possible values:

Value Description
true increase priority
false decrease priority

(static) AdjustJobPriorityV2(id, prioLevel)

Same as AdjustJobPriority but receive priority level.

Parameters:
Name Type Description
id number

unique identifier of a job assigned for this operation [-1, 0..4294967295]

prioLevel number

new priority of the job expressed in levels (allowed values 1,2,3,4,5)

(static) DeleteJob(id, deleteFile) → {boolean}

Delete given job.

Parameters:
Name Type Description
id number

unique identifier of a job assigned for this operation [-1, 0..4294967295]

deleteFile boolean

keep or remove the downloaded file:

Value Description
true delete associated local file
false just delete the job and keep local file
Returns:

operation status:

Value Description
true job was removed successfully
false failure
Type
boolean

(static) GetMeasureInfo() → {Array.<stbDownloadManager.JobInfo>}

Similar to stbDownloadManager.GetQueueInfo.

Get information about special (test) job. If test job does not exist then return empty list.

See stbDownloadManager.JobInfo, stbDownloadManager.AddMeasureJob.

Returns:

list of jobs in JSON format

Type
Array.<stbDownloadManager.JobInfo>

(static) GetQueueInfo(idListopt) → {Array.<stbDownloadManager.JobInfo>}

Get info about queue of jobs.

See stbDownloadManager.JobInfo, stbDownloadManager.AddJob.

Example
// get the particular jobs info
stbDownloadManager.GetQueueInfo('[1, 2, 3]');
// get all jobs data
stbDownloadManager.GetQueueInfo();
Parameters:
Name Type Attributes Description
idList string <optional>

list of ids in JSON format

If list is not empty information for given jobs will be returned. Whole queue will be returned in other case.

Returns:

list of jobs in JSON format

Type
Array.<stbDownloadManager.JobInfo>

(static) InvalidateCatalog(mountPoint)

Invalidate jobs for selected mount point.

Parameters:
Name Type Description
mountPoint string

folder where storage device content mounted

(static) PlayDownloadedMedia(id)

Play the given job in dedicated "media player" window of the internal portal.

This effectively generate stbEvent.onMediaAvailable event.

Parameters:
Name Type Description
id number

unique identifier of a job assigned for this operation [-1, 0..4294967295]

(static) RestoreJobs(mountPoint)

Restore jobs using local catalog on selected device.

Parameters:
Name Type Description
mountPoint string

folder where storage device content mounted

(static) StartJob(id) → {boolean}

Change state of the given job to "waiting for queue".

This will cause job to start downloading process once queue will be ready to schedule the job.

Parameters:
Name Type Description
id number

unique identifier of a job assigned for this operation [-1, 0..4294967295]

Returns:

operation status:

Value Description
true job was started successfully
false failure
Type
boolean

(static) StopJob(id) → {boolean}

Change state of the given job to "stopped".

This state will cause the job will never be selected by scheduler for downloading.

Parameters:
Name Type Description
id number

unique identifier of a job assigned for this operation [-1, 0..4294967295]

Returns:

operation status:

Value Description
true job was stopped successfully
false failure
Type
boolean

Type Definitions

JobInfo

Properties:
Name Type Description
id number

unique task identifier of the job

state number

current job state (see job states table)

stateStr string

state string (localization is supported for this string resource)

url string

remote file address

filePath string

path to a local storage

tempFile string

temporary file

mountPoint string

folder where storage device content mounted

progressPct number

progress of downloading process in percents [0..100]

sizeDone number

size of already downloaded data

sizeTotal number

total file size (value -1 if undefined)

prio number

priority of the job

prioLevel number

priority of the job expressed in levels (allowed values 1,2,3,4,5)

attempt number

number of the download attempt

timeWasted number

time elapsed since job start (ms)

Information about a job in JSON format.

Type:
  • string
Example
// parsed JSON data
{
    id: 1,
    state: 3,
    stateStr: "Completed",
    url: "http://somehost/Hawking (BBC).avi"
    mountPoint: "/media/HDD-SATA-1",
    filePath: "Hawking (BBC).avi",
    progressPct: 100,
    sizeDone: 739287040,
    sizeTotal: 739287040,
    prio: 1,
    prioLevel: 5,
    attempt: 0,
    tempFile: "Hawking (BBC).avi-a528f.temp",
    timeWasted: 310728,
}