// Path: unused/api/java/dan200/computercraft/api/filesystem/IMount.java
// public interface IMount
// {
// 	/**
// 	 * Returns whether a file with a given path exists or not.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return true if the file exists, false otherwise
// 	 */
// 	public boolean exists( String path ) throws IOException;
// 
// 	/**
// 	 * Returns whether a file with a given path is a directory or not.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprograms"
// 	 * @return true if the file exists and is a directory, false otherwise
// 	 */
// 	public boolean isDirectory( String path ) throws IOException;
// 
// 	/**
// 	 * Returns the file names of all the files in a directory.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprograms"
// 	 * @param contents A list of strings. Add all the file names to this list
// 	 */
// 	public void list( String path, List<String> contents ) throws IOException;
// 
// 	/**
// 	 * Returns the size of a file with a given path, in bytes
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return the size of the file, in bytes
// 	 */
// 	public long getSize( String path ) throws IOException;
// 	
// 	/**
// 	 * Opens a file with a given path, and returns an inputstream representing it's contents.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return a stream representing the contents of the file
// 	 */
// 	public InputStream openForRead( String path ) throws IOException;	
// }
// 
// Path: unused/api/java/dan200/computercraft/api/filesystem/IWritableMount.java
// public interface IWritableMount extends IMount
// {
// 	/**
// 	 * Creates a directory at a given path inside the virtual file system.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/mynewprograms"
// 	 */
// 	public void makeDirectory( String path ) throws IOException;
// 
// 	/**
// 	 * Deletes a directory at a given path inside the virtual file system.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myoldprograms"
// 	 */
// 	public void delete( String path ) throws IOException;
// 
// 	/**
// 	 * Opens a file with a given path, and returns an outputstream for writing to it.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return a stream for writing to
// 	 */
// 	public OutputStream openForWrite( String path ) throws IOException;
// 
// 	/**
// 	 * Opens a file with a given path, and returns an outputstream for appending to it.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return a stream for writing to
// 	 */
// 	public OutputStream openForAppend( String path ) throws IOException;
// 
// 	/**
// 	 * Get the ammount of free space on the mount, in bytes. You should decrease this value as the user writes to the mount, and write operations should fail once it reaches zero.
// 	 * @return The ammount of free space, in bytes.
// 	 */
// 	public long getRemainingSpace() throws IOException;
// }


import dan200.computercraft.api.filesystem.IMount;
import dan200.computercraft.api.filesystem.IWritableMount;
/**
 * This file is part of the public ComputerCraft API - http://www.computercraft.info
 * Copyright Daniel Ratcliffe, 2011-2016. This API may be redistributed unmodified and in full only.
 * For help using the API, and posting your mods, visit the forums at computercraft.info.
 */

package dan200.computercraft.api.peripheral;


/**
 * The interface passed to peripherals by computers or turtles, providing methods
 * that they can call. This should not be implemented by your classes. Do not interact
 * with computers except via this interface.
 */
public interface IComputerAccess
{
	/**
	 * Mount a mount onto the computers' file system in a read only mode.<br>
	 * @param desiredLocation The location on the computercraft's file system where you would like the mount to be mounted.
	 * @param mount The mount object to mount on the computercraft. These can be obtained by calling ComputerCraftAPI.createSaveDirMount(), ComputerCraftAPI.createResourceMount() or by creating your own objects that implement the IMount interface.
	 * @return The location on the computercraft's file system where you the mount mounted, or null if there was already a file in the desired location. Store this value if you wish to unmount the mount later.
	 * @see dan200.computercraft.api.ComputerCraftAPI#createSaveDirMount(World, String)
	 * @see dan200.computercraft.api.ComputerCraftAPI#createResourceMount(Class, String, String)
	 * @see #mountWritable(String, dan200.computercraft.api.filesystem.IWritableMount)
	 * @see #unmount(String)
	 * @see dan200.computercraft.api.filesystem.IMount
	 */
// Path: unused/api/java/dan200/computercraft/api/filesystem/IMount.java
// public interface IMount
// {
// 	/**
// 	 * Returns whether a file with a given path exists or not.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return true if the file exists, false otherwise
// 	 */
// 	public boolean exists( String path ) throws IOException;
// 
// 	/**
// 	 * Returns whether a file with a given path is a directory or not.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprograms"
// 	 * @return true if the file exists and is a directory, false otherwise
// 	 */
// 	public boolean isDirectory( String path ) throws IOException;
// 
// 	/**
// 	 * Returns the file names of all the files in a directory.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprograms"
// 	 * @param contents A list of strings. Add all the file names to this list
// 	 */
// 	public void list( String path, List<String> contents ) throws IOException;
// 
// 	/**
// 	 * Returns the size of a file with a given path, in bytes
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return the size of the file, in bytes
// 	 */
// 	public long getSize( String path ) throws IOException;
// 	
// 	/**
// 	 * Opens a file with a given path, and returns an inputstream representing it's contents.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return a stream representing the contents of the file
// 	 */
// 	public InputStream openForRead( String path ) throws IOException;	
// }
// 
// Path: unused/api/java/dan200/computercraft/api/filesystem/IWritableMount.java
// public interface IWritableMount extends IMount
// {
// 	/**
// 	 * Creates a directory at a given path inside the virtual file system.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/mynewprograms"
// 	 */
// 	public void makeDirectory( String path ) throws IOException;
// 
// 	/**
// 	 * Deletes a directory at a given path inside the virtual file system.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myoldprograms"
// 	 */
// 	public void delete( String path ) throws IOException;
// 
// 	/**
// 	 * Opens a file with a given path, and returns an outputstream for writing to it.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return a stream for writing to
// 	 */
// 	public OutputStream openForWrite( String path ) throws IOException;
// 
// 	/**
// 	 * Opens a file with a given path, and returns an outputstream for appending to it.
// 	 * @param path A file path in normalised format, relative to the mount location. ie: "programs/myprogram"
// 	 * @return a stream for writing to
// 	 */
// 	public OutputStream openForAppend( String path ) throws IOException;
// 
// 	/**
// 	 * Get the ammount of free space on the mount, in bytes. You should decrease this value as the user writes to the mount, and write operations should fail once it reaches zero.
// 	 * @return The ammount of free space, in bytes.
// 	 */
// 	public long getRemainingSpace() throws IOException;
// }


// Path: unused/api/java/dan200/computercraft/api/peripheral/IComputerAccess.java
import dan200.computercraft.api.filesystem.IMount;
import dan200.computercraft.api.filesystem.IWritableMount;

/**
 * This file is part of the public ComputerCraft API - http://www.computercraft.info
 * Copyright Daniel Ratcliffe, 2011-2016. This API may be redistributed unmodified and in full only.
 * For help using the API, and posting your mods, visit the forums at computercraft.info.
 */

package dan200.computercraft.api.peripheral;


/**
 * The interface passed to peripherals by computers or turtles, providing methods
 * that they can call. This should not be implemented by your classes. Do not interact
 * with computers except via this interface.
 */
public interface IComputerAccess
{
	/**
	 * Mount a mount onto the computers' file system in a read only mode.<br>
	 * @param desiredLocation The location on the computercraft's file system where you would like the mount to be mounted.
	 * @param mount The mount object to mount on the computercraft. These can be obtained by calling ComputerCraftAPI.createSaveDirMount(), ComputerCraftAPI.createResourceMount() or by creating your own objects that implement the IMount interface.
	 * @return The location on the computercraft's file system where you the mount mounted, or null if there was already a file in the desired location. Store this value if you wish to unmount the mount later.
	 * @see dan200.computercraft.api.ComputerCraftAPI#createSaveDirMount(World, String)
	 * @see dan200.computercraft.api.ComputerCraftAPI#createResourceMount(Class, String, String)
	 * @see #mountWritable(String, dan200.computercraft.api.filesystem.IWritableMount)
	 * @see #unmount(String)
	 * @see dan200.computercraft.api.filesystem.IMount
	 */
	public String mount( String desiredLocation, IMount mount );