148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood/*
248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * Copyright (c) 2006-2011 Christian Plattner. All rights reserved.
348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * Please refer to the LICENSE.txt for licensing details.
448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood */
548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwoodpackage ch.ethz.ssh2;
648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
748ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood/**
848ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * A <code>SFTPv3FileHandle</code>.
948ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood *
1048ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * @author Christian Plattner
1148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood * @version 2.50, 03/15/10
1248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood */
1348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
1448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwoodpublic class SFTPv3FileHandle
1548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood{
1648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	protected final SFTPv3Client client;
1748ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	protected final byte[] fileHandle;
1848ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	protected boolean isClosed;
1948ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
2048ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	protected SFTPv3FileHandle(SFTPv3Client client, byte[] h)
2148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	{
2248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		this.client = client;
2348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		this.fileHandle = h;
2448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	}
2548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
2648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	/**
2748ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 * Get the SFTPv3Client instance which created this handle.
2848ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 *
2948ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 * @return A SFTPv3Client instance.
3048ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 */
3148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	public SFTPv3Client getClient()
3248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	{
3348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		return client;
3448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	}
3548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood
3648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	/**
3748ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 * Check if this handle was closed with the {@link SFTPv3Client#closeFile(SFTPv3FileHandle)} method
3848ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 * of the <code>SFTPv3Client</code> instance which created the handle.
3948ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 *
4048ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 * @return if the handle is closed.
4148ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	 */
4248ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	public boolean isClosed()
4348ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	{
4448ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood		return isClosed;
4548ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood	}
4648ded2421114c4c87ef3f8005c9f793a5d077cbdMike Lockwood}
47