Simplify ResourceTask creation

This commit is contained in:
Keegan McAllister 2013-10-09 12:26:26 -07:00
parent 368d512b99
commit 05901f8761

View file

@ -33,23 +33,21 @@ pub enum ProgressMsg {
/// Handle to a resource task /// Handle to a resource task
pub type ResourceTask = SharedChan<ControlMsg>; pub type ResourceTask = SharedChan<ControlMsg>;
pub type LoaderTask = ~fn(url: Url, Chan<ProgressMsg>);
/** /**
Creates a task to load a specific resource Creates a task to load a specific resource
The ResourceManager delegates loading to a different type of loader task for The ResourceManager delegates loading to a different type of loader task for
each URL scheme each URL scheme
*/ */
type LoaderTaskFactory = ~fn() -> ~fn(url: Url, Chan<ProgressMsg>); type LoaderTaskFactory = extern "Rust" fn() -> LoaderTask;
pub type LoaderTask = ~fn(url: Url, Chan<ProgressMsg>);
/// Create a ResourceTask with the default loaders /// Create a ResourceTask with the default loaders
pub fn ResourceTask() -> ResourceTask { pub fn ResourceTask() -> ResourceTask {
let file_loader_factory: LoaderTaskFactory = file_loader::factory;
let http_loader_factory: LoaderTaskFactory = http_loader::factory;
let loaders = ~[ let loaders = ~[
(~"file", file_loader_factory), (~"file", file_loader::factory),
(~"http", http_loader_factory) (~"http", http_loader::factory),
]; ];
create_resource_task_with_loaders(loaders) create_resource_task_with_loaders(loaders)
} }