Skip to content

mesmotronic/as3-worker-untar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Untar Worker for Adobe AIR

Untar Worker for Adobe AIR is an ActionScript 3 Worker class used to extract uncompressed gnu-tar files, created using tar -cf, in the background.

The Worker runs once, then self-terminates on completion.

Released under BSD license. Requires AIR 3.4+.

Example Project

A simple Flex project for Adobe AIR example Flash Builder project is included in the examples folder, which enables you to select and extract a tar to a chosen folder.

Code Example

protected var untarWorker:Worker;
protected var resultChannel:MessageChannel;

[Embed(source="UntarWorker.swf", mimeType="application/octet-stream")]
protected var untarWorkerClass:Class;

protected function untar(sourcePath:String, targetPath:String):void
{
	// giveAppPrivileges parameter MUST be set to true!
	untarWorker = WorkerDomain.current.createWorker(new untarWorkerClass(), true);
	untarWorker.addEventListener(Event.WORKER_STATE, untarWorker_workerState);
	
	resultChannel = untarWorker.createMessageChannel(Worker.current);
	resultChannel.addEventListener(Event.CHANNEL_MESSAGE, resultChannel_channelMessage);
	
	untarWorker.setSharedProperty("sourcePath", sourcePath);
	untarWorker.setSharedProperty("targetPath", targetPath);				
	untarWorker.setSharedProperty("resultChannel", resultChannel);				
	
	untarWorker.start();
}

protected function untarWorker_workerState(event:Event):void
{
	trace("untarWorker.state =", untarWorker.state);
}

protected function resultChannel_channelMessage(event:Event):void
{
	var success:Boolean = resultChannel.receive() as Boolean;
	
	switch (success)
	{
		case true:
			true("Success!");
			break;
			
		default:
			trace("Error: are you sure that was a tar?");
			break;
	}
}

Make a donation

If you find this project useful, why not buy us a coffee (or as many as you think it's worth)?

Make a donation