Commit graph

13 commits

Author SHA1 Message Date
heinrich5991 94acac91a0 Overhauled job system
The engine now takes `std::shared_ptr<IJob>`, this will ensure the
appropriate lifetime of the given parameters, it also allows for proper
destruction. Remove the now obsolete `IFetcher` interface and `CFetcher`
class.

Also adds some locks to `CUpdater`, previously it didn't have any locks
at all.
2017-11-23 15:47:38 +01:00
Learath 96acddb57f Fix the other use after free 2017-10-17 15:39:20 +02:00
Learath2 9bce7e8630 Use a proper interface for CFetchTask 2017-10-09 18:47:02 +02:00
Learath 1b0ab87015 Get rid of unnecessary queue in CFetcher 2017-10-08 00:57:56 +02:00
def 7d71dae87f Fetcher: sephamore instead of spinlock, exit thread gracefully 2017-08-30 23:14:00 +02:00
def e480b651e7 Fix fetcher write function to return size 2017-08-30 21:01:19 +02:00
def d835826461 Use proper path for autoupdater on *nix 2015-03-14 20:01:18 +01:00
Learath Lea 1f34ed6740 Call the completion callback even on a fail. 2015-03-13 21:17:23 +02:00
Learath Lea 8ee294a412 Fix use after free. Fix thread launching. 2015-02-27 23:06:19 +02:00
Learath Lea 62a35bfb81 Escape the filenames. 2015-02-12 19:58:54 +02:00
Learath Lea 142c386cd6 Remove obsolete function prototype. 2015-02-08 11:52:47 +02:00
eeeee e5970145f7 fix fetcher codez formatting 2015-01-19 14:09:30 -08:00
Learath 340e79904d Added fetcher interface.
Make fetcher client only and move Task class from interface.

Fix queue logic, add destructor.
LEAN_AND_MEAN moved up to prevent curl including the whole winapi

Remove JobNo, Fix callback, Cleanup debug messages.

Fix include guard

Copy the Url and Destination. Delete pTask.

Fix typo

Add Completion callback

Let the user pass context

Add virtual to inherited funcs

Use 0 instead of NULL

Give fetcher the ability to create folders. Fix couple of small bugs.

Added .lib files for MSVC.

Leave user the allocation of CFetchTask. Get rid of unnecessary cb
arguments.

Get the HTTP return code from libcurl.

Incorperate the storage system.

Fail on HTTP error >= 400.

Add more info to the task.

Add blocking way of getting HTTP resp code.
Remove resp code from normal tasks as we fail >= 400 anyways.

Sleep instead of killing the thread

Forgot one instance of respcode.

Provide HTTP download for maps.

Dont check 404 first.
2015-01-19 22:14:52 +01:00