/*
* Created : 2004/May/26
*
* Copyright (C) 2004, 2005, 2006 Aelitis SAS, All rights Reserved
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details ( see the LICENSE file ).
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* AELITIS, SAS au capital de 46,603.30 euros,
* 8 Allee Lenotre, La Grille Royale, 78600 Le Mesnil le Roi, France.
*/
package org.gudy.azureus2.pluginsimpl.local.disk;
import java.io.File;
import org.gudy.azureus2.plugins.disk.DiskManagerChannel;
import org.gudy.azureus2.plugins.disk.DiskManagerFileInfo;
import org.gudy.azureus2.plugins.download.Download;
import org.gudy.azureus2.plugins.download.DownloadException;
import org.gudy.azureus2.pluginsimpl.local.download.DownloadImpl;
import org.gudy.azureus2.pluginsimpl.local.download.DownloadManagerImpl;
/**
* @author TuxPaper
*
*/
public class DiskManagerFileInfoImpl
implements DiskManagerFileInfo
{
protected DownloadImpl download;
protected org.gudy.azureus2.core3.disk.DiskManagerFileInfo core;
public
DiskManagerFileInfoImpl(
DownloadImpl _download,
org.gudy.azureus2.core3.disk.DiskManagerFileInfo coreFileInfo )
{
core = coreFileInfo;
download = _download;
}
public void setPriority(boolean b) {
core.setPriority(b);
}
public void setSkipped(boolean b) {
core.setSkipped(b);
}
public void
setDeleted(boolean b)
{
if ( b ){
core.setStorageType( org.gudy.azureus2.core3.disk.DiskManagerFileInfo.ST_COMPACT );
}else{
core.setStorageType( org.gudy.azureus2.core3.disk.DiskManagerFileInfo.ST_LINEAR );
}
}
public boolean
isDeleted()
{
return( core.getStorageType() == org.gudy.azureus2.core3.disk.DiskManagerFileInfo.ST_COMPACT );
}
public void
setLink(
File link_destination )
{
core.setLink( link_destination );
}
public File
getLink()
{
return( core.getLink());
}
// get methods
public int getAccessMode() {
return core.getAccessMode();
}
public long getDownloaded() {
return core.getDownloaded();
}
public long getLength() {
return core.getLength();
}
public File getFile() {
return core.getFile(false);
}
public int getFirstPieceNumber() {
return core.getFirstPieceNumber();
}
public int getNumPieces() {
return core.getNbPieces();
}
public boolean isPriority() {
return core.isPriority();
}
public boolean isSkipped() {
return core.isSkipped();
}
public int
getIndex()
{
return( core.getIndex());
}
public Download getDownload()
throws DownloadException
{
return DownloadManagerImpl.getDownloadStatic( core.getDownloadManager());
}
public DiskManagerChannel
createChannel()
throws DownloadException
{
if ( core.getDownloadManager().getTorrent() == null ){
throw( new DownloadException( "Torrent invalid" ));
}
return( new DiskManagerChannelImpl( download, this ));
}
protected org.gudy.azureus2.core3.disk.DiskManagerFileInfo
getCore()
{
return( core );
}
}