29#include <QtCore/QByteArray>
30#include <QtNetwork/QHostInfo>
39class SlaveBasePrivate;
53 SlaveBase(
const QByteArray &protocol,
const QByteArray &pool_socket,
const QByteArray &app_socket);
79 void data(
const QByteArray &data );
121 void error(
int _errid,
const QString &_text );
138 void needSubUrlData();
146 void slaveStatus(
const QString &host,
bool connected);
154 void statEntry(
const UDSEntry& _entry );
209 void processedPercent(
float percent );
216 void speed(
unsigned long _bytes_per_second );
222 void redirection(
const KUrl &_url );
235 void mimeType(
const QString &_type );
240 void warning(
const QString &msg );
246 void infoMessage(
const QString &msg );
248 enum MessageBoxType { QuestionYesNo = 1, WarningYesNo = 2, WarningContinueCancel = 3, WarningYesNoCancel = 4, Information = 5, SSLMessageBox = 6 };
263 int messageBox( MessageBoxType type,
const QString &text,
264 const QString &caption = QString(),
265 const QString &buttonYes =
i18n(
"&Yes"),
266 const QString &buttonNo =
i18n(
"&No"));
283 int messageBox(
const QString &text, MessageBoxType type,
284 const QString &caption = QString(),
285 const QString &buttonYes =
i18n(
"&Yes"),
286 const QString &buttonNo =
i18n(
"&No"),
287 const QString &dontAskAgainName = QString() );
293 void setMetaData(
const QString &key,
const QString &value);
299 bool hasMetaData(
const QString &key)
const;
304 QString metaData(
const QString &key)
const;
345 virtual void setHost(
const QString& host, quint16 port,
const QString& user,
const QString& pass);
350 virtual void setSubUrl(
const KUrl&url);
361 virtual void openConnection();
371 virtual void closeConnection();
392 virtual void get(
const KUrl& url );
400 virtual void open(
const KUrl &url, QIODevice::OpenMode mode );
403 virtual void write(
const QByteArray &data );
405 virtual void close();
422 virtual void put(
const KUrl& url,
int permissions, JobFlags flags );
439 virtual void stat(
const KUrl& url );
473 virtual void mkdir(
const KUrl&url,
int permissions );
501 virtual void rename(
const KUrl& src,
const KUrl& dest, JobFlags flags );
510 virtual void symlink(
const QString& target,
const KUrl& dest, JobFlags flags );
516 virtual void chmod(
const KUrl& url,
int permissions );
522 virtual void chown(
const KUrl& url,
const QString& owner,
const QString& group );
557 virtual void copy(
const KUrl &src,
const KUrl &dest,
int permissions, JobFlags flags );
569 virtual void del(
const KUrl &url,
bool isfile);
576 virtual void setLinkDest(
const KUrl& url,
const QString& target );
586 virtual void special(
const QByteArray & data );
595 virtual void multiGet(
const QByteArray & data );
601 virtual void slave_status();
607 virtual void reparseConfiguration();
613 int connectTimeout();
618 int proxyConnectTimeout();
624 int responseTimeout();
645 void setTimeoutSpecialCommand(
int timeout,
const QByteArray &data=QByteArray());
654 virtual void dispatch(
int command,
const QByteArray &data );
659 virtual void dispatchOpenCommand(
int command,
const QByteArray &data );
669 int readData( QByteArray &buffer );
682 void listEntry(
const UDSEntry& _entry,
bool ready);
688 void connectSlave(
const QString& path);
689 void disconnectSlave();
743 bool openPasswordDialog(
KIO::AuthInfo& info,
const QString &errorMsg = QString() );
772 bool checkCachedAuthentication(
AuthInfo& info );
800 bool cacheAuthentication(
const AuthInfo& info );
820 bool requestNetwork(
const QString& host = QString());
835 void dropNetwork(
const QString& host = QString());
841 int waitForAnswer(
int expected1,
int expected2, QByteArray & data,
int * pCmd = 0 );
863 void sendAndKeepMetaData();
870 bool wasKilled()
const;
880 void lookupHost(
const QString& host);
885 int waitForHostInfo(QHostInfo& info);
897 AppConnectionMade = 0
899 virtual void virtual_hook(
int id,
void* data );
904 void error(
int _errid,
const QByteArray &_text );
906 void send(
int cmd,
const QByteArray& arr = QByteArray());
907 SlaveBasePrivate*
const d;
908 friend class SlaveBasePrivate;
This class is intended to make it easier to prompt for, cache and retrieve authorization information.
There are two classes that specifies the protocol between application (job) and kioslave.
MetaData mOutgoingMetaData
QByteArray mProtocol
Name of the protocol supported by this slave.
MetaData mIncomingMetaData
Universal Directory Service.
Allows encoding and decoding properly remote filenames into Unicode.
QString i18n(const char *text)
A namespace for KIO globals.
SimpleJob * chown(const KUrl &url, const QString &owner, const QString &group)
Changes ownership and group of a file or directory.
SimpleJob * setModificationTime(const KUrl &url, const QDateTime &mtime)
Changes the modification time on a file or directory.
TransferJob * put(const KUrl &url, int permissions, JobFlags flags=DefaultFlags)
Put (a.k.a.
ListJob * listDir(const KUrl &url, JobFlags flags=DefaultFlags, bool includeHidden=true)
List the contents of url, which is assumed to be a directory.
TransferJob * get(const KUrl &url, LoadType reload=NoReload, JobFlags flags=DefaultFlags)
Get (a.k.a.
SimpleJob * special(const KUrl &url, const QByteArray &data, JobFlags flags=DefaultFlags)
Execute any command that is specific to one slave (protocol).
MimetypeJob * mimetype(const KUrl &url, JobFlags flags=DefaultFlags)
Find mimetype for one file or directory.
qulonglong filesize_t
64-bit file size
SimpleJob * symlink(const QString &target, const KUrl &dest, JobFlags flags=DefaultFlags)
Create or move a symlink.