summaryrefslogtreecommitdiffstats
path: root/kio/kio/netaccess.h
diff options
context:
space:
mode:
Diffstat (limited to 'kio/kio/netaccess.h')
-rw-r--r--kio/kio/netaccess.h540
1 files changed, 0 insertions, 540 deletions
diff --git a/kio/kio/netaccess.h b/kio/kio/netaccess.h
deleted file mode 100644
index 54dd02974..000000000
--- a/kio/kio/netaccess.h
+++ /dev/null
@@ -1,540 +0,0 @@
-/*
- This file is part of the KDE libraries
- Copyright (C) 1997 Torben Weis (weis@kde.org)
- Copyright (C) 1998 Matthias Ettrich (ettrich@kde.org)
- Copyright (C) 1999-2004 David Faure (faure@kde.org)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef __kio_netaccess_h
-#define __kio_netaccess_h
-
-#include <tqobject.h>
-#include <tqstring.h>
-#include <kio/global.h>
-
-class TQStringList;
-class TQWidget;
-class KURL;
-template<typename T, typename K> class TQMap;
-
-namespace TDEIO {
-
- class Job;
-
- /**
- * Net Transparency.
- *
- * NetAccess allows you to do simple file operation (load, save,
- * copy, delete...) without working with TDEIO::Job directly.
- * Whereas a TDEIO::Job is asynchronous, meaning that the
- * developer has to connect slots for it, TDEIO::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
- *
- * @short Provides an easy, synchronous interface to KIO file operations.
- */
-class TDEIO_EXPORT NetAccess : public TQObject
-{
- Q_OBJECT
-
-public:
- /**
- * Downloads a file from an arbitrary URL (@p src) to a
- * temporary file on the local filesystem (@p target).
- *
- * If the argument
- * for @p target is an empty string, download will generate a
- * unique temporary filename in /tmp. Since @p target is a reference
- * to TQString 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 @p target.
- * That means you @em have to take care about the @p 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 @p u is a string which represents a URL and your
- * application has a loadFile() function):
- *
- * \code
- * TQString tmpFile;
- * if( TDEIO::NetAccess::download( u, tmpFile, window ) )
- * {
- * loadFile( tmpFile );
- * TDEIO::NetAccess::removeTempFile( tmpFile );
- * } else {
- * KMessageBox::error(this, TDEIO::NetAccess::lastErrorString() );
- * }
- * \endcode
- *
- * Of course, your user interface will still process exposure/repaint
- * events during the download.
- *
- * If the download fails, lastError() and lastErrorString() will be set.
- *
- * @param src URL Reference to the file to download.
- * @param 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. <B>Note:</B>
- * you are responsible for the removal of this file when
- * you are finished reading it using removeTempFile.
- * @param 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.
- * @return true if successful, false for failure. Use lastErrorString() to
- * get the reason it failed.
- *
- * @see lastErrorString()
- * @since 3.2
- */
- static bool download(const KURL& src, TQString & target, TQWidget* window);
-
- /**
- * @deprecated. Use the function above instead.
- */
- static bool download(const KURL& src, TQString & target) KDE_DEPRECATED;
-
- /**
- * Removes the specified file if and only if it was created
- * by TDEIO::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.
- *
- * @param name Path to temporary file to remove. May not be
- * empty.
- */
- static void removeTempFile(const TQString& name);
-
- /**
- * Uploads file @p src to URL @p 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.
- *
- * @param src URL Referencing the file to upload.
- * @param target URL containing the final location of the file.
- * @param 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.
- *
- * @return true if successful, false for failure
- * @since 3.2
- */
- static bool upload(const TQString& src, const KURL& target, TQWidget* window);
-
- /**
- * @deprecated. Use the function above instead.
- */
- static bool upload(const TQString& src, const KURL& target) KDE_DEPRECATED;
-
- /**
- * Alternative to upload for copying over the network.
- * Overwrite is false, so this will fail if @p target exists.
- *
- * This one takes two URLs and is a direct equivalent
- * of TDEIO::file_copy (not TDEIO::copy!).
- * It will be renamed file_copy in KDE4, so better use file_copy.
- *
- * @param src URL Referencing the file to upload.
- * @param target URL containing the final location of the file.
- * @param 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.
- *
- * @return true if successful, false for failure
- */
- static bool copy( const KURL& src, const KURL& target, TQWidget* window );
- // KDE4: rename to file_copy
-
- /**
- * @deprecated. Use the function above instead.
- */
- static bool copy( const KURL& src, const KURL& target ) KDE_DEPRECATED;
- // KDE4: merge with above
-
- /**
- * Full-fledged equivalent of TDEIO::file_copy
- */
- static bool file_copy( const KURL& src, const KURL& dest, int permissions=-1,
- bool overwrite=false, bool resume=false, TQWidget* window = 0L );
-
- /**
- * Full-fledged equivalent of TDEIO::file_move.
- * Moves or renames *one file*.
- * @since 3.2
- */
- static bool file_move( const KURL& src, const KURL& target, int permissions=-1,
- bool overwrite=false, bool resume=false, TQWidget* window = 0L );
-
-
- /**
- * Alternative method for copying over the network.
- * Overwrite is false, so this will fail if @p target exists.
- *
- * This one takes two URLs and is a direct equivalent
- * of TDEIO::copy!.
- * This means that it can copy files and directories alike
- * (it should have been named copy()).
- *
- * @param src URL Referencing the file to upload.
- * @param target URL containing the final location of the
- * file.
- * @param 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.
- * @return true if successful, false for failure
- */
- static bool dircopy( const KURL& src, const KURL& target, TQWidget* window );
-
- /**
- * @deprecated. Use the function above instead.
- */
- static bool dircopy( const KURL& src, const KURL& target ) KDE_DEPRECATED; // KDE4: merge
-
- /**
- * Overloaded method, which takes a list of source URLs
- */
- static bool dircopy( const KURL::List& src, const KURL& target, TQWidget* window = 0L );
-
- /**
- * Full-fledged equivalent of TDEIO::move.
- * Moves or renames one file or directory.
- * @since 3.2
- */
- static bool move( const KURL& src, const KURL& target, TQWidget* window = 0L );
-
- /**
- * Full-fledged equivalent of TDEIO::move.
- * Moves or renames a list of files or directories.
- * @since 3.2
- */
- static bool move( const KURL::List& src, const KURL& target, TQWidget* window = 0L );
-
- /**
- * Tests whether a URL exists.
- *
- * @param url the URL we are testing
- * @param source if true, we want to read from that URL.
- * If false, we want to write to it.
- * IMPORTANT: see documentation for TDEIO::stat for more details about this.
- * @param 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.
- * @return true if the URL exists and we can do the operation specified by
- * @p source, false otherwise
- * @since 3.2
- */
- static bool exists(const KURL& url, bool source, TQWidget* window);
-
- /**
- * @deprecated. Use the function above instead.
- * @since 3.2
- */
- static bool exists(const KURL& url, TQWidget* window) KDE_DEPRECATED;
-
- /**
- * @deprecated. Use the function above instead.
- */
- static bool exists(const KURL& url) KDE_DEPRECATED;
-
- /**
- * @deprecated. Use the function above instead.
- */
- static bool exists(const KURL& url, bool source) KDE_DEPRECATED; // KDE4: merge
-
- /**
- * Tests whether a URL exists and return information on it.
- *
- * This is a convenience function for TDEIO::stat
- * (it saves creating a slot and testing for the job result).
- *
- * @param url The URL we are testing.
- * @param entry The result of the stat. Iterate over the list
- * of atoms to get hold of name, type, size, etc., or use KFileItem.
- * @param 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.
- * @return true if successful, false for failure
- */
- static bool stat(const KURL& url, TDEIO::UDSEntry & entry, TQWidget* window);
-
- /**
- * @deprecated. Use the function above instead.
- */
- static bool stat(const KURL& url, TDEIO::UDSEntry & entry) KDE_DEPRECATED;
-
- /**
- * Tries to map a local URL for the given URL.
- *
- * This is a convenience function for TDEIO::stat + parsing the
- * resulting UDSEntry.
- *
- * @param url The URL we are testing.
- * @param 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.
- * @return a local URL corresponding to the same ressource than the
- * original URL, or the original URL if no local URL can be mapped
- * @since 3.5
- */
- static KURL mostLocalURL(const KURL& url, TQWidget* window);
-
- /**
- * Deletes a file or a directory in a synchronous way.
- *
- * This is a convenience function for TDEIO::del
- * (it saves creating a slot and testing for the job result).
- *
- * @param url The file or directory to delete.
- * @param 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.
- * @return true on success, false on failure.
- */
- static bool del( const KURL & url, TQWidget* window );
-
- /**
- * @deprecated. Use the function above instead. Passing NULL as the
- * additional argument will give the same behaviour, but
- * you should try to identify a suitable parent widget
- * if at all possible.
- */
- static bool del( const KURL & url ) KDE_DEPRECATED;
-
- /**
- * Creates a directory in a synchronous way.
- *
- * This is a convenience function for @p TDEIO::mkdir
- * (it saves creating a slot and testing for the job result).
- *
- * @param url The directory to create.
- * @param 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.
- * @param permissions directory permissions.
- * @return true on success, false on failure.
- */
- static bool mkdir( const KURL & url, TQWidget* window, int permissions = -1 );
-
- /**
- * @deprecated. Use the function above instead. Passing NULL as the
- * additional argument will give the same behaviour, but
- * you should try to identify a suitable parent widget
- * if at all possible.
- */
- static bool mkdir( const KURL & url, int permissions = -1 ) KDE_DEPRECATED;
-
- /**
- * Executes a remote process via the fish ioslave in a synchronous way.
- *
- * @param 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.
- * @param command The command to be executed.
- * @param 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.
- * @return The resulting output of the @p command that is executed.
- */
- static TQString fish_execute( const KURL & url, const TQString command, TQWidget* window );
-
- /**
- * This function executes a job in a synchronous way.
- * If a job fetches some data, pass a TQByteArray pointer as data parameter to this function
- * and after the function returns it will contain all the data fetched by this job.
- *
- * <code>
- * TDEIO::Job *job = TDEIO::get( url, false, false );
- * TQMap<TQString, TQString> metaData;
- * metaData.insert( "PropagateHttpHeader", "true" );
- * if ( NetAccess::synchronousRun( job, 0, &data, &url, &metaData ) ) {
- * TQString responseHeaders = metaData[ "HTTP-Headers" ];
- * kdDebug()<<"Response header = "<< responseHeaders << endl;
- * }
- * </code>
- *
- * @param job job which the function will run. Note that after this function
- * finishes running, job is deleted and you can't access it anymore!
- * @param 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.
- * @param data if passed and relevant to this job then it will contain the data
- * that was fetched by the job
- * @param 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)
- * @param 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.
- *
- * @return true on success, false on failure.
- *
- * @since 3.4
- */
- static bool synchronousRun( Job* job, TQWidget* window, TQByteArray* data=0,
- KURL* finalURL=0, TQMap<TQString,TQString>* metaData=0 );
-
- /**
- * @internal
- * This function is not implemented!?
- * (only mimetypeInternal)
- *
- * Determines the mimetype of a given URL.
- *
- * This is a convenience function for TDEIO::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.
- *
- * @param url The URL whose mimetype we are interested in.
- * @param 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.
- * @return The mimetype name.
- */
- static TQString mimetype( const KURL & url, TQWidget* window );
-
- /**
- * @deprecated. Use the function above instead. Passing NULL as the
- * additional argument will give the same behaviour, but
- * you should try to identify a suitable parent widget
- * if at all possible.
- */
- static TQString mimetype( const KURL & url ) KDE_DEPRECATED;
-
- /**
- * Returns the error string for the last job, in case it failed.
- * Note that this is already translated.
- * @return the last error string, or TQString::null
- */
- static TQString lastErrorString() { return lastErrorMsg ? *lastErrorMsg : TQString::null; }
-
- /**
- * Returns the error code for the last job, in case it failed.
- * @return the last error code
- * @since 3.3
- */
- static int lastError() { return lastErrorCode; }
-
-private:
- /**
- * Private constructor
- */
- NetAccess() : m_metaData(0), d(0) {}
-
- /**
- * Private destructor
- */
- ~NetAccess() {}
-
- /**
- * Internal methods
- */
- bool filecopyInternal(const KURL& src, const KURL& target, int permissions,
- bool overwrite, bool resume, TQWidget* window, bool move);
- bool dircopyInternal(const KURL::List& src, const KURL& target,
- TQWidget* window, bool move);
- bool statInternal(const KURL & url, int details, bool source, TQWidget* window = 0);
-
- bool delInternal(const KURL & url, TQWidget* window = 0);
- bool mkdirInternal(const KURL & url, int permissions, TQWidget* window = 0);
- TQString fish_executeInternal(const KURL & url, const TQString command, TQWidget* window = 0);
- bool synchronousRunInternal( Job* job, TQWidget* window, TQByteArray* data,
- KURL* finalURL, TQMap<TQString,TQString>* metaData );
-
- TQString mimetypeInternal(const KURL & url, TQWidget* window = 0);
- void enter_loop();
-
- /**
- * List of temporary files
- */
- static TQStringList* tmpfiles;
-
- static TQString* lastErrorMsg;
- static int lastErrorCode;
-
- friend class I_like_this_class;
-
-private slots:
- void slotResult( TDEIO::Job * job );
- void slotMimetype( TDEIO::Job * job, const TQString & type );
- void slotData( TDEIO::Job*, const TQByteArray& );
- void slotRedirection( TDEIO::Job*, const KURL& );
-
-private:
- UDSEntry m_entry;
- TQString m_mimetype;
- TQByteArray m_data;
- KURL m_url;
- TQMap<TQString, TQString> *m_metaData;
-
- /**
- * Whether the download succeeded or not
- */
- bool bJobOK;
-
-private:
- class NetAccessPrivate* d; // not really needed, the ctor is private already.
-};
-
-}
-
-#endif