diff -r 000000000000 -r 61163b28edca htiextension/com.nokia.s60tools.hticonnection/src/com/nokia/s60tools/hticonnection/services/IFTPService.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/htiextension/com.nokia.s60tools.hticonnection/src/com/nokia/s60tools/hticonnection/services/IFTPService.java Tue Jan 12 13:17:53 2010 -0600 @@ -0,0 +1,194 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +package com.nokia.s60tools.hticonnection.services; + +import com.nokia.s60tools.hticonnection.exceptions.ConnectionException; +import com.nokia.s60tools.hticonnection.exceptions.HTIException; +import com.nokia.s60tools.hticonnection.exceptions.ServiceShutdownException; + +/** + * Service that contains interface for performing file operations on device. + */ +public interface IFTPService { + + /** + * Returns the list of directories located inside a specified directory. + * @param remoteDir Directory + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @return List of directories in given directory + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public String[] listDirs(String remoteDir, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Returns the list of files located inside a specified directory. + * @param remoteDir Directory + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @return List of files in given directory + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public String[] listFiles(String remoteDir, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Returns the list of files and details located inside a specified directory. + * @param remoteDir Directory + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @return List of file information in given directory + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public FileInfo[] listFilesAndDetails(String remoteDir, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Returns the list of drives on device. + * Supported in HTI 1.88.0 -> and 2.1.0 -> + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @return DriveInfo array containing information of drives on device + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public DriveInfo[] listDrives(long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Uploads given file to a specified directory. + * @param fileData File data in byte array + * @param remoteFile File in target where to write data + * @param listener Listener for upload status information. Or null if information is not needed. + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public void uploadFile(byte[] fileData, String remoteFile, IFTPListener listener, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Downloads given file. + * @param remoteDir File in target to download + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @param listener Listener for download status information. Or null if information is not needed. + * @return File data in byte array + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public byte[] downloadFile(String remoteDir, IFTPListener listener, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Deletes given file. + * @param remoteFile File in target where to write data + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public void deleteFile(String remoteFile, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Creates specified directory. + * @param remoteDir Directory to be created to target + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public void makeDir(String remoteDir, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Deletes specified directory. + * @param remoteDir Directory to be deleted from target + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public void deleteDir(String remoteDir, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Renames the specified file or folder. The command operates recursively. + * Note that the names must be absolute paths and if the new path is different + * than the old, this command can also move the file to that new path. + * The old and new path must be on the same drive. + * Supported in HTI 1.91.0 -> and 2.5.0 -> + * @param oldName Full path to the file or folder to be renamed. + * @param newName Full path indicating the new name (and possibly new location) of the file or folder. + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public void renameFileDir(String oldName, String newName, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Makes a copy of the specified file or folder to selected location. + * The command operates recursively. If the OriginalPath is a folder the contents + * of that folder will be copied to CopyPath. For example if OriginalPath is + * c:\temp and CopyPath is e:\copy_of_temp then the files and folders under + * c:\temp will be copied under e:\copy_of_temp + * Supported in HTI 1.91.0 -> and 2.5.0 -> + * @param originalPath Full path to file or folder. + * @param copyPath Full path for copy file or folder. + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public void copyFileDir(String originalPath, String copyPath, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; + + /** + * Moves the specified file or folder to selected location. The command operates recursively. + * Supported in HTI 1.91.0 -> and 2.5.0 -> + * @param oldPath Full path to the file or folder to be moved. + * @param newLocation Target folder where file or folder is to be moved. + * @param timeout Time in milliseconds that is waited for the operation to complete. Use 0 for infinite. + * @throws ConnectionException Connection failed + * @throws HTIException Thrown when there are problems with HTI + * @throws ServiceShutdownException Thrown after services have been shut down + * and new requests are not accepted. + */ + public void moveFileDir(String oldPath, String newLocation, long timeout) + throws ServiceShutdownException, HTIException, ConnectionException; +} +