org.kde.koala

Class NetAccess

public class NetAccess extends QObject

Net Transparency. NetAccess allows you to do simple file operation (load, save, copy, delete...) without working with KIO.Job directly. Whereas a KIO.Job is asynchronous, meaning that the developer has to connect slots for it, KIO.NetAccess provides synchronous downloads and uploads, as well as temporary file creation and removal. The functions appear to be blocking, but the Qt event loop continues running while the operations are handled. This means that the GUI will not freeze. This class isn't meant to be used as a class but only as a simple namespace for static functions, though an instance of the class is built for internal purposes. Port to kio done by David Faure, faure@kde.org

UNKNOWN: Provides an easy, synchronous interface to KIO file operations.

Constructor Summary
protected NetAccess(Class dummy)
Method Summary
StringclassName()
static booleancopy(KURL src, KURL target, QWidget window)
Alternative to upload for copying over the network.
static booleandel(KURL url, QWidget window)
Deletes a file or a directory in a synchronous way.
static booleandircopy(KURL src, KURL target, QWidget window)
Alternative method for copying over the network.
static booleandircopy(ArrayList src, KURL target, QWidget window)
Overloaded method, which takes a list of source URLs
static booleandircopy(ArrayList src, KURL target)
static booleandownload(KURL src, StringBuffer target, QWidget window)
Downloads a file from an arbitrary URL (src) to a temporary file on the local filesystem (target).
static booleanexists(KURL url, boolean source, QWidget window)
Tests whether a URL exists.
static booleanfile_copy(KURL src, KURL dest, int permissions, boolean overwrite, boolean resume, QWidget window)
Full-fledged equivalent of KIO.file_copy
static booleanfile_copy(KURL src, KURL dest, int permissions, boolean overwrite, boolean resume)
static booleanfile_copy(KURL src, KURL dest, int permissions, boolean overwrite)
static booleanfile_copy(KURL src, KURL dest, int permissions)
static booleanfile_copy(KURL src, KURL dest)
static booleanfile_move(KURL src, KURL target, int permissions, boolean overwrite, boolean resume, QWidget window)
Full-fledged equivalent of KIO.file_move.
static booleanfile_move(KURL src, KURL target, int permissions, boolean overwrite, boolean resume)
static booleanfile_move(KURL src, KURL target, int permissions, boolean overwrite)
static booleanfile_move(KURL src, KURL target, int permissions)
static booleanfile_move(KURL src, KURL target)
static Stringfish_execute(KURL url, String command, QWidget window)
Executes a remote process via the fish ioslave in a synchronous way.
static intlastError()
Returns the error code for the last job, in case it failed.
static StringlastErrorString()
Returns the error string for the last job, in case it failed.
QMetaObjectmetaObject()
static Stringmimetype(KURL url, QWidget window)
This function is not implemented!
static booleanmkdir(KURL url, QWidget window, int permissions)
Creates a directory in a synchronous way.
static booleanmkdir(KURL url, QWidget window)
static KURLmostLocalURL(KURL url, QWidget window)
Tries to map a local URL for the given URL.
static booleanmove(KURL src, KURL target, QWidget window)
Full-fledged equivalent of KIO.move.
static booleanmove(KURL src, KURL target)
static booleanmove(ArrayList src, KURL target, QWidget window)
Full-fledged equivalent of KIO.move.
static booleanmove(ArrayList src, KURL target)
static voidremoveTempFile(String name)
Removes the specified file if and only if it was created by KIO.NetAccess as a temporary file for a former download.
static booleansynchronousRun(Job job, QWidget window, byte[] data, KURL finalURL)
This function executes a job in a synchronous way.
static booleansynchronousRun(Job job, QWidget window, byte[] data)
static booleansynchronousRun(Job job, QWidget window)
static booleanupload(String src, KURL target, QWidget window)
Uploads file src to URL target. Both must be specified, unlike download.

Constructor Detail

NetAccess

protected NetAccess(Class dummy)

Method Detail

className

public String className()

copy

public static boolean copy(KURL src, KURL target, QWidget window)
Alternative to upload for copying over the network. Overwrite is false, so this will fail if target exists. This one takes two URLs and is a direct equivalent of KIO.file_copy (not KIO.copy!). It will be renamed file_copy in KDE4, so better use file_copy.

Parameters: src URL Referencing the file to upload. target URL containing the final location of the file. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: true if successful, false for failure

UNKNOWN: Alternative to upload for copying over the network.

del

public static boolean del(KURL url, QWidget window)
Deletes a file or a directory in a synchronous way. This is a convenience function for KIO.del (it saves creating a slot and testing for the job result).

Parameters: url The file or directory to delete. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: true on success, false on failure.

UNKNOWN: Deletes a file or a directory in a synchronous way.

dircopy

public static boolean dircopy(KURL src, KURL target, QWidget window)
Alternative method for copying over the network. Overwrite is false, so this will fail if target exists. This one takes two URLs and is a direct equivalent of KIO.copy!. This means that it can copy files and directories alike (it should have been named copy()).

Parameters: src URL Referencing the file to upload. target URL containing the final location of the file. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: true if successful, false for failure

UNKNOWN: Alternative method for copying over the network.

dircopy

public static boolean dircopy(ArrayList src, KURL target, QWidget window)
Overloaded method, which takes a list of source URLs

UNKNOWN: Overloaded method, which takes a list of source URLs

dircopy

public static boolean dircopy(ArrayList src, KURL target)

download

public static boolean download(KURL src, StringBuffer target, QWidget window)
Downloads a file from an arbitrary URL (src) to a temporary file on the local filesystem (target). If the argument for target is an empty string, download will generate a unique temporary filename in /tmp. Since target is a reference to String you can access this filename easily. Download will return true if the download was successful, otherwise false. Special case: If the URL is of kind file:, then no downloading is processed but the full filename is returned in target. That means you have to take care about the target argument. (This is very easy to do, please see the example below.) Download is synchronous. That means you can use it like this, (assuming u is a string which represents a URL and your application has a loadFile() function):
		 String tmpFile;
		 if( KIO.NetAccess.download( u, tmpFile, window ) )
		 {
		   loadFile( tmpFile );
		   KIO.NetAccess.removeTempFile( tmpFile );
		 } else {
		   KMessageBox.error(this, KIO.NetAccess.lastErrorString() );
		 }
		 
Of course, your user interface will still process exposure/repaint events during the download. If the download fails, lastError() and lastErrorString() will be set.

Parameters: src URL Reference to the file to download. target String containing the final local location of the file. If you insert an empty string, it will return a location in a temporary spot. Note: you are responsible for the removal of this file when you are finished reading it using removeTempFile. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: true if successful, false for failure. Use lastErrorString() to get the reason it failed.

See Also: NetAccess

UNKNOWN: Downloads a file from an arbitrary URL (src) to a temporary file on the local filesystem (target).

exists

public static boolean exists(KURL url, boolean source, QWidget window)
Tests whether a URL exists.

Parameters: url the URL we are testing source if true, we want to read from that URL. If false, we want to write to it. IMPORTANT: see documentation for KIO.stat for more details about this. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: true if the URL exists and we can do the operation specified by source, false otherwise

UNKNOWN: Tests whether a URL exists.

file_copy

public static boolean file_copy(KURL src, KURL dest, int permissions, boolean overwrite, boolean resume, QWidget window)
Full-fledged equivalent of KIO.file_copy

UNKNOWN: Full-fledged equivalent of KIO.file_copy

file_copy

public static boolean file_copy(KURL src, KURL dest, int permissions, boolean overwrite, boolean resume)

file_copy

public static boolean file_copy(KURL src, KURL dest, int permissions, boolean overwrite)

file_copy

public static boolean file_copy(KURL src, KURL dest, int permissions)

file_copy

public static boolean file_copy(KURL src, KURL dest)

file_move

public static boolean file_move(KURL src, KURL target, int permissions, boolean overwrite, boolean resume, QWidget window)
Full-fledged equivalent of KIO.file_move. Moves or renames one file.

UNKNOWN: Full-fledged equivalent of KIO.file_move.

file_move

public static boolean file_move(KURL src, KURL target, int permissions, boolean overwrite, boolean resume)

file_move

public static boolean file_move(KURL src, KURL target, int permissions, boolean overwrite)

file_move

public static boolean file_move(KURL src, KURL target, int permissions)

file_move

public static boolean file_move(KURL src, KURL target)

fish_execute

public static String fish_execute(KURL url, String command, QWidget window)
Executes a remote process via the fish ioslave in a synchronous way.

Parameters: url The remote machine where the command should be executed. e.g. fish://someuser\@somehost:sshport/ some special cases exist. fish://someuser\@localhost/ will use su instead of ssh to connect and execute the command. fish://someuser\@localhost:port/ will use ssh to connect and execute the command. command The command to be executed. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: The resulting output of the command that is executed.

UNKNOWN: Executes a remote process via the fish ioslave in a synchronous way.

lastError

public static int lastError()
Returns the error code for the last job, in case it failed.

Returns: the last error code

UNKNOWN: Returns the error code for the last job, in case it failed.

lastErrorString

public static String lastErrorString()
Returns the error string for the last job, in case it failed. Note that this is already translated.

Returns: the last error string, or null

UNKNOWN: Returns the error string for the last job, in case it failed.

metaObject

public QMetaObject metaObject()

mimetype

public static String mimetype(KURL url, QWidget window)
This function is not implemented!? (only mimetypeInternal) Determines the mimetype of a given URL. This is a convenience function for KIO.mimetype. You should call this only when really necessary. KMimeType.findByURL can determine extension a lot faster, but less reliably for remote files. Only when findByURL() returns unknown (application/octet-stream) then this one should be used.

Parameters: url The URL whose mimetype we are interested in. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: The mimetype name.

UNKNOWN:

mkdir

public static boolean mkdir(KURL url, QWidget window, int permissions)
Creates a directory in a synchronous way. This is a convenience function for KIO.mkdir (it saves creating a slot and testing for the job result).

Parameters: url The directory to create. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed. permissions directory permissions.

Returns: true on success, false on failure.

UNKNOWN: Creates a directory in a synchronous way.

mkdir

public static boolean mkdir(KURL url, QWidget window)

mostLocalURL

public static KURL mostLocalURL(KURL url, QWidget window)
Tries to map a local URL for the given URL. This is a convenience function for KIO.stat + parsing the resulting UDSEntry.

Parameters: url The URL we are testing. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: a local URL corresponding to the same ressource than the original URL, or the original URL if no local URL can be mapped

UNKNOWN: Tries to map a local URL for the given URL.

move

public static boolean move(KURL src, KURL target, QWidget window)
Full-fledged equivalent of KIO.move. Moves or renames one file or directory.

UNKNOWN: Full-fledged equivalent of KIO.move.

move

public static boolean move(KURL src, KURL target)

move

public static boolean move(ArrayList src, KURL target, QWidget window)
Full-fledged equivalent of KIO.move. Moves or renames a list of files or directories.

UNKNOWN: Full-fledged equivalent of KIO.move.

move

public static boolean move(ArrayList src, KURL target)

removeTempFile

public static void removeTempFile(String name)
Removes the specified file if and only if it was created by KIO.NetAccess as a temporary file for a former download. Note: This means that if you created your temporary with KTempFile, use KTempFile.unlink() or KTempFile.setAutoDelete() to have it removed.

Parameters: name Path to temporary file to remove. May not be empty.

UNKNOWN: Removes the specified file if and only if it was created by KIO.NetAccess as a temporary file for a former download.

synchronousRun

public static boolean synchronousRun(Job job, QWidget window, byte[] data, KURL finalURL)
This function executes a job in a synchronous way. If a job fetches some data, pass a byte[] pointer as data parameter to this function and after the function returns it will contain all the data fetched by this job. KIO.Job job = KIO.get( url, false, false ); QMap metaData; metaData.insert( "PropagateHttpHeader", "true" ); if ( NetAccess.synchronousRun( job, 0, &data, &url, &metaData ) ) { String responseHeaders = metaData[ "HTTP-Headers" ]; kdDebug()<<"Response header = "<< responseHeaders << endl; }

Parameters: job job which the function will run. Note that after this function finishes running, job is deleted and you can't access it anymore! window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed. data if passed and relevant to this job then it will contain the data that was fetched by the job finalURL if passed will contain the final url of this job (it might differ from the one it was created with if there was a redirection) metaData you can pass a pointer to the map with meta data you wish to set on the job. After the job finishes this map will hold all the meta data from the job.

Returns: true on success, false on failure.

UNKNOWN: This function executes a job in a synchronous way.

synchronousRun

public static boolean synchronousRun(Job job, QWidget window, byte[] data)

synchronousRun

public static boolean synchronousRun(Job job, QWidget window)

upload

public static boolean upload(String src, KURL target, QWidget window)
Uploads file src to URL target. Both must be specified, unlike download. Note that this is assumed to be used for saving a file over the network, so overwriting is set to true. This is not the case with copy.

Parameters: src URL Referencing the file to upload. target URL containing the final location of the file. window main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns: true if successful, false for failure

UNKNOWN: Uploads file src to URL target.