24 #include <tdeconfigbase.h>
25 #include <tdeio/global.h>
26 #include <tdeio/authinfo.h>
34 class SlaveBasePrivate;
48 SlaveBase(
const TQCString &protocol,
const TQCString &pool_socket,
const TQCString &app_socket);
65 void setConnection(
Connection* connection ) { m_pConnection = connection; }
69 Connection *connection()
const {
return m_pConnection; }
84 void data(
const TQByteArray &data );
109 void error(
int _errid,
const TQString &_text );
125 void needSubURLData();
133 void slaveStatus(
const TQString &host,
bool connected);
141 void statEntry(
const UDSEntry& _entry );
148 void listEntries(
const UDSEntryList& _entry );
193 void processedPercent(
float percent );
200 void speed(
unsigned long _bytes_per_second );
206 void redirection(
const KURL &_url );
219 void mimeType(
const TQString &_type );
224 void warning(
const TQString &msg );
230 void infoMessage(
const TQString &msg );
232 enum MessageBoxType { QuestionYesNo = 1, WarningYesNo = 2, WarningContinueCancel = 3, WarningYesNoCancel = 4, Information = 5, SSLMessageBox = 6 };
247 int messageBox( MessageBoxType type,
const TQString &text,
248 const TQString &caption = TQString::null,
249 const TQString &buttonYes = TQString::null,
250 const TQString &buttonNo = TQString::null );
268 int messageBox(
const TQString &text, MessageBoxType type,
269 const TQString &caption = TQString::null,
270 const TQString &buttonYes = TQString::null,
271 const TQString &buttonNo = TQString::null,
272 const TQString &dontAskAgainName = TQString::null );
278 void setMetaData(
const TQString &key,
const TQString &value);
285 bool hasMetaData(
const TQString &key)
const;
291 TQString metaData(
const TQString &key)
const;
298 bool hasMetaData(
const TQString &key);
304 TQString metaData(
const TQString &key);
311 MetaData allMetaData()
const {
return mIncomingMetaData; }
320 TDEConfigBase* config();
347 virtual void setHost(
const TQString& host,
int port,
const TQString& user,
const TQString& pass);
352 virtual void setSubURL(
const KURL&url);
363 virtual void openConnection();
373 virtual void closeConnection();
381 virtual void get(
const KURL& url );
398 virtual void put(
const KURL& url,
int permissions,
bool overwrite,
bool resume );
405 virtual void stat(
const KURL& url );
419 virtual void mimetype(
const KURL& url );
428 virtual void listDir(
const KURL& url );
437 virtual void mkdir(
const KURL&url,
int permissions );
447 virtual void rename(
const KURL& src,
const KURL& dest,
bool overwrite );
456 virtual void symlink(
const TQString& target,
const KURL& dest,
bool overwrite );
462 virtual void chmod(
const KURL& url,
int permissions );
474 virtual void copy(
const KURL &src,
const KURL &dest,
int permissions,
bool overwrite );
482 virtual void del(
const KURL &url,
bool isfile);
495 virtual void special(
const TQByteArray & data );
504 virtual void multiGet(
const TQByteArray & data );
510 virtual void slave_status();
516 virtual void reparseConfiguration();
523 virtual void localURL(
const KURL& remoteURL );
528 int connectTimeout();
533 int proxyConnectTimeout();
539 int responseTimeout();
561 void setTimeoutSpecialCommand(
int timeout,
const TQByteArray &data=TQByteArray());
566 static void sigsegv_handler(
int);
570 static void sigpipe_handler(
int);
579 virtual bool dispatch();
583 virtual void dispatch(
int command,
const TQByteArray &data );
593 int readData( TQByteArray &buffer );
606 void listEntry(
const UDSEntry& _entry,
bool ready);
612 void connectSlave(
const TQString& path);
613 void disconnectSlave();
699 bool checkCachedAuthentication(
AuthInfo& info );
707 bool cacheAuthentication(
const AuthInfo& info );
713 bool pingCacheDaemon()
const;
721 TQString createAuthCacheKey(
const KURL& url );
730 void sendAuthenticationKey(
const TQCString& gKey,
const TQCString& key,
bool keep );
740 void delCachedAuthentication(
const TQString& key );
772 bool requestNetwork(
const TQString& host = TQString::null);
787 void dropNetwork(
const TQString& host = TQString::null);
793 DCOPClient *dcopClient();
799 int waitForAnswer(
int expected1,
int expected2, TQByteArray & data,
int * pCmd = 0 );
822 bool wasKilled()
const;
831 UDSEntryList pendingListEntries;
832 uint listEntryCurrentSize;
833 long listEntry_sec, listEntry_usec;
835 TQString mPoolSocket;
837 bool mConnectedToApp;
839 virtual void virtual_hook(
int id,
void* data );
TDEIO_EXPORT ChmodJob * chmod(const KFileItemList &lstItems, int permissions, int mask, TQString newOwner, TQString newGroup, bool recursive, bool showProgressInfo=true)
Creates a job that changes permissions/ownership on several files or directories, optionally recursiv...
TQValueList< UDSAtom > UDSEntry
An entry is the list of atoms containing all the information for a file or URL.
There are two classes that specifies the protocol between application (job) and tdeioslave.
TQ_ULLONG filesize_t
64-bit file size
TDEIO_EXPORT DeleteJob * del(const KURL &src, bool shred=false, bool showProgressInfo=true)
Delete a file or directory.
Allows encoding and decoding properly remote filenames into Unicode.
bool multipleAuthCaching() const
A namespace for TDEIO globals.
TDEIO_EXPORT CopyJob * copy(const KURL &src, const KURL &dest, bool showProgressInfo=true)
Copy a file or directory src into the destination dest, which can be a file (including the final file...
TDEIO_EXPORT LocalURLJob * localURL(const KURL &remoteUrl)
Retrieve local URL if available.
TDEIO_EXPORT StatJob * stat(const KURL &url, bool showProgressInfo=true)
Find all details for one file or directory.
TDEIO_EXPORT MimetypeJob * mimetype(const KURL &url, bool showProgressInfo=true)
Find mimetype for one file or directory.
This class provides a simple means for IPC between two applications via a pipe.
This class is intended to make it easier to prompt for, cache and retrieve authorization information...
TDEIO_EXPORT SimpleJob * symlink(const TQString &target, const KURL &dest, bool overwrite, bool showProgressInfo=true)
Create or move a symlink.
TQCString mProtocol
Name of the protocol supported by this slave.
void setMultipleAuthCaching(bool)
TDEIO_EXPORT TransferJob * put(const KURL &url, int permissions, bool overwrite, bool resume, bool showProgressInfo=true)
Put (a.k.a.
TDEIO_EXPORT SimpleJob * rename(const KURL &src, const KURL &dest, bool overwrite)
Rename a file or directory.
TDEIO_EXPORT SimpleJob * mkdir(const KURL &url, int permissions=-1)
Creates a single directory.
TDEIO_EXPORT SimpleJob * special(const KURL &url, const TQByteArray &data, bool showProgressInfo=true)
Execute any command that is specific to one slave (protocol).
TDEIO_EXPORT ListJob * listDir(const KURL &url, bool showProgressInfo=true, bool includeHidden=true)
List the contents of url, which is assumed to be a directory.