KIO::TCPSlaveBase Class Reference

`#include <tcpslavebase.h>`

Inheritance diagram for KIO::TCPSlaveBase:

## Public Member Functions

| TCPSlaveBase (unsigned short int defaultPort, const QCString &protocol, const QCString &poolSocket, const QCString &appSocket)
| TCPSlaveBase (unsigned short int defaultPort, const QCString &protocol, const QCString &poolSocket, const QCString &appSocket, bool useSSL)
Public Member Functions inherited from KIO::SlaveBase
| SlaveBase (const QCString &protocol, const QCString &pool_socket, const QCString &app_socket)
void | exit ()
void | dispatchLoop ()
void | setConnection (Connection *connection)
Connection * | connection () const
void | data (const QByteArray &data)
void | dataReq ()
void | error (int _errid, const QString &_text)
void | connected ()
void | finished ()
void | needSubURLData ()
void | slaveStatus (const QString &host, bool connected)
void | statEntry (const UDSEntry &_entry)
void | listEntries (const UDSEntryList &_entry)
bool | canResume (KIO::filesize_t offset)
void | canResume ()
void | totalSize (KIO::filesize_t _bytes)
void | processedSize (KIO::filesize_t _bytes)
void | processedPercent (float percent)
void | speed (unsigned long _bytes_per_second)
void | redirection (const KURL &_url)
void | errorPage ()
void | mimeType (const QString &_type)
void | warning (const QString &msg)
void | infoMessage (const QString &msg)
int | messageBox (MessageBoxType type, const QString &text, const QString &caption=QString::null, const QString &buttonYes=QString::null, const QString &buttonNo=QString::null)
int | messageBox (const QString &text, MessageBoxType type, const QString &caption=QString::null, const QString &buttonYes=QString::null, const QString &buttonNo=QString::null, const QString &dontAskAgainName=QString::null)
void | setMetaData (const QString &key, const QString &value)
bool | hasMetaData (const QString &key) const
QString | metaData (const QString &key) const
bool | hasMetaData (const QString &key)
QString | metaData (const QString &key)
MetaData | allMetaData () const
KConfigBase * | config ()
KRemoteEncoding * | remoteEncoding ()
virtual void | setHost (const QString &host, int port, const QString &user, const QString &pass)
virtual void | setSubURL (const KURL &url)
virtual void | openConnection ()
virtual void | closeConnection ()
virtual void | get (const KURL &url)
virtual void | put (const KURL &url, int permissions, bool overwrite, bool resume)
virtual void | stat (const KURL &url)
virtual void | mimetype (const KURL &url)
virtual void | listDir (const KURL &url)
virtual void | mkdir (const KURL &url, int permissions)
virtual void | rename (const KURL &src, const KURL &dest, bool overwrite)
virtual void | symlink (const QString &target, const KURL &dest, bool overwrite)
virtual void | chmod (const KURL &url, int permissions)
virtual void | copy (const KURL &src, const KURL &dest, int permissions, bool overwrite)
virtual void | del (const KURL &url, bool isfile)
virtual void | special (const QByteArray &data)
virtual void | multiGet (const QByteArray &data)
virtual void | slave_status ()
virtual void | reparseConfiguration ()
int | connectTimeout ()
int | proxyConnectTimeout ()
int | responseTimeout ()
int | readTimeout ()
void | setTimeoutSpecialCommand (int timeout, const QByteArray &data=QByteArray())
virtual bool | dispatch ()
virtual void | dispatch (int command, const QByteArray &data)
int | readData (QByteArray &buffer)
void | listEntry (const UDSEntry &_entry, bool ready)
void | connectSlave (const QString &path)
void | disconnectSlave ()
bool | openPassDlg (KIO::AuthInfo &info, const QString &errorMsg)
bool | openPassDlg (KIO::AuthInfo &info)
bool | checkCachedAuthentication (AuthInfo &info)
bool | cacheAuthentication (const AuthInfo &info)
bool | pingCacheDaemon () const
QString | createAuthCacheKey (const KURL &url)
void | sendAuthenticationKey (const QCString &gKey, const QCString &key, bool keep)
void | delCachedAuthentication (const QString &key)
void | setMultipleAuthCaching (bool)
bool | multipleAuthCaching () const
bool | requestNetwork (const QString &host=QString::null)
void | dropNetwork (const QString &host=QString::null)
DCOPClient * | dcopClient ()
int | waitForAnswer (int expected1, int expected2, QByteArray &data, int *pCmd=0)
void | sendMetaData ()
bool | wasKilled () const
void | setKillFlag ()

## Protected Member Functions

KDE_DEPRECATED ssize_t | Write (const void *data, ssize_t len)
KDE_DEPRECATED ssize_t | Read (void *data, ssize_t len)
KDE_DEPRECATED ssize_t | ReadLine (char *data, ssize_t len)
KDE_DEPRECATED unsigned short int | GetPort (unsigned short int p)
KDE_DEPRECATED bool | ConnectToHost (const QString &host, unsigned int port, bool sendError)
KDE_DEPRECATED void | CloseDescriptor ()
KDE_DEPRECATED bool | AtEOF ()
KDE_DEPRECATED bool | InitializeSSL ()
KDE_DEPRECATED void | CleanSSL ()
ssize_t | write (const void *data, ssize_t len)
ssize_t | read (void *data, ssize_t len)
ssize_t | readLine (char *data, ssize_t len)
void | setBlockSize (int sz)
unsigned short int | port (unsigned short int _port)
bool | connectToHost (const QString &host, unsigned int port, bool sendError=true)
bool | usingSSL () const
bool | usingTLS () const
bool | usingTLS ()
bool | canUseTLS ()
int | startTLS ()
void | stopTLS ()
void | closeDescriptor ()
bool | atEnd ()
void | setSSLMetaData ()
bool | initializeSSL ()
void | cleanSSL ()
bool | isConnectionValid ()
int | connectResult ()
bool | waitForResponse (int t)
void | setBlockConnection (bool b)
void | setConnectTimeout (int t)
bool | isSSLTunnelEnabled ()
void | setEnableSSLTunnel (bool enable)
void | setRealHost (const QString &realHost)
void | doConstructorStuff ()
int | verifyCertificate ()
void | certificatePrompt ()
bool | userAborted () const
virtual void | virtual_hook (int id, void *data)

## Protected Attributes

int | m_iSock
bool | m_bIsSSL
unsigned short int | m_iPort
unsigned short int | m_iDefaultPort
QCString | m_sServiceName
FILE * | fp
Protected Attributes inherited from KIO::SlaveBase
UDSEntryList | pendingListEntries
uint | listEntryCurrentSize
long | listEntry_sec
long | listEntry_usec
Connection * | appconn
QString | mPoolSocket
QString | mAppSocket
bool | mConnectedToApp

## Additional Inherited Members

Public Types inherited from KIO::SlaveBase
enum | MessageBoxType { QuestionYesNo = 1, WarningYesNo = 2, WarningContinueCancel = 3, WarningYesNoCancel = 4, Information = 5, SSLMessageBox = 6 }
Static Public Member Functions inherited from KIO::SlaveBase
static void | sigsegv_handler (int)
static void | sigpipe_handler (int)
Public Attributes inherited from KIO::SlaveBase
QCString | mProtocol
Connection * | m_pConnection
MetaData | mOutgoingMetaData
MetaData | mIncomingMetaData
Static Protected Attributes inherited from KIO::SlaveBase
static long | s_seqNr

## Detailed Description

There are two classes that specifies the protocol between application (job) and kioslave.

SlaveInterface is the class to use on the application end, SlaveBase is the one to use on the slave end.

Slave implementations should simply inherit SlaveBase

A call to foo() results in a call to slotFoo() on the other end.

Definition at line 45 of file tcpslavebase.h.

## Member Function Documentation

bool TCPSlaveBase::atEnd | ( |  | ) |

protected

Returns true when end of data is reached.

Definition at line 446 of file tcpslavebase.cpp.

KDE_DEPRECATED bool KIO::TCPSlaveBase::AtEOF | ( |  | ) |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 94 of file tcpslavebase.h.

bool TCPSlaveBase::canUseTLS | ( |  | ) |

protected

Can we use TLS?

Returns
  if so, true is returned. if not, true isn't returned.

Definition at line 524 of file tcpslavebase.cpp.

KDE_DEPRECATED void KIO::TCPSlaveBase::CleanSSL | ( |  | ) |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 104 of file tcpslavebase.h.

void TCPSlaveBase::cleanSSL | ( |  | ) |

protected

Cleans up all SSL settings.

Definition at line 435 of file tcpslavebase.cpp.

KDE_DEPRECATED void KIO::TCPSlaveBase::CloseDescriptor | ( |  | ) |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 89 of file tcpslavebase.h.

void TCPSlaveBase::closeDescriptor | ( |  | ) |

protected

Closes the current file descriptor.

Call this function to properly close up the socket since it also takes care to prroperly close the stdio fstream stuff, as well as sets the socket back to -1

Definition at line 406 of file tcpslavebase.cpp.

int TCPSlaveBase::connectResult | ( |  | ) |

protected

Returns the status of the connection.

This function allows you to invoke ConnectToHost with the `sendError` flag set to false so that you can send the appropriate error message back to the calling io-slave.

Returns
  the status code as returned by KExtendedSocket.

Definition at line 1252 of file tcpslavebase.cpp.

KDE_DEPRECATED bool KIO::TCPSlaveBase::ConnectToHost | ( | const QString & | host,
|  | unsigned int | port,
|  | bool | sendError
| ) |  |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 83 of file tcpslavebase.h.

bool TCPSlaveBase::connectToHost | ( | const QString & | host,
|  | unsigned int | port,
|  | bool | sendError = `true`
| ) |  |

protected

Performs the initial TCP connection stuff and/or SSL handshaking as necessary.

Please note that unlike its deprecated counterpart, this function allows you to disable any error message from being sent back to the calling application! You can then use the connectResult() function to determine the result of the request for connection.

Parameters

  host | hostname
  port | port number to connect to
  sendError | if true sends error message to calling app.

Returns
  on succes, true is returned. on failure, false is returned and an appropriate error message is send to the application.

Definition at line 302 of file tcpslavebase.cpp.

KDE_DEPRECATED unsigned short int KIO::TCPSlaveBase::GetPort | ( | unsigned short int | p | ) |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 78 of file tcpslavebase.h.

KDE_DEPRECATED bool KIO::TCPSlaveBase::InitializeSSL | ( |  | ) |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 99 of file tcpslavebase.h.

bool TCPSlaveBase::initializeSSL | ( |  | ) |

protected

Initializs all SSL variables.

Definition at line 424 of file tcpslavebase.cpp.

bool TCPSlaveBase::isConnectionValid | ( |  | ) |

protected

Determines whether or not we are still connected to the remote machine.

This method may fail to detect a closed SSL connection.

return `true` if the socket is still active or false otherwise.

Definition at line 1150 of file tcpslavebase.cpp.

bool TCPSlaveBase::isSSLTunnelEnabled | ( |  | ) |

protected

Returns true if SSL tunneling is enabled.

See also
  setEnableSSlTunnel

Definition at line 1267 of file tcpslavebase.cpp.

unsigned short int TCPSlaveBase::port | ( | unsigned short int | _port | ) |

protected

Determines the appropriate port to use.

This functions attempts to discover the appropriate port.

Parameters

  _port | the port to try, if it works, it is returned

Returns
  the default port if the given port doesn't work

Definition at line 284 of file tcpslavebase.cpp.

KDE_DEPRECATED ssize_t KIO::TCPSlaveBase::Read | ( | void * | data,
|  | ssize_t | len
| ) |  |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 68 of file tcpslavebase.h.

ssize_t TCPSlaveBase::read | ( | void * | data,
|  | ssize_t | len
| ) |  |

protected

This function acts like standard read function call except it is also capable of deciphering SSL data as well as handling data over SOCKSified connections.

Parameters

  data | storage for the info read from server
  len | lenght of the info to read from the server

Returns
  the actual size of data that was obtained

Definition at line 167 of file tcpslavebase.cpp.

KDE_DEPRECATED ssize_t KIO::TCPSlaveBase::ReadLine | ( | char * | data,
|  | ssize_t | len
| ) |  |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 73 of file tcpslavebase.h.

ssize_t TCPSlaveBase::readLine | ( | char * | data,
|  | ssize_t | len
| ) |  |

protected

Same as above except it reads data one line at a time.

Definition at line 192 of file tcpslavebase.cpp.

void TCPSlaveBase::setBlockConnection | ( | bool | b | ) |

protected

Sets the mode of the connection to blocking or non-blocking.

Be sure to call this function before calling connectToHost. Otherwise, this setting will not have any effect until the next `connectToHost`.

Parameters

  b | true to make the connection a blocking one, false otherwise.

Definition at line 1257 of file tcpslavebase.cpp.

void TCPSlaveBase::setBlockSize | ( | int | sz | ) |

protected

Sets the maximum size of blocks read in during calls to readLine().

This allows a slave to optimize for the protocol which it implements. Ideally this should be (common_line_length+1) or so. Making this too large will have adverse effects on performance. Initial/default value is 256(bytes)

Definition at line 183 of file tcpslavebase.cpp.

void TCPSlaveBase::setConnectTimeout | ( | int | t | ) |

protected

Sets how long to wait for orignally connecting to the requested before timinig out.

Be sure to call this function before calling ConnectToHost, otherwise the setting will not take effect until the next call to `ConnectToHost`.

Parameters

  t | timeout value

Definition at line 1262 of file tcpslavebase.cpp.

void TCPSlaveBase::setEnableSSLTunnel | ( | bool | enable | ) |

protected

Set up SSL tunneling mode.

Calling this function with a `true` argument will allow you to temprarly ignore the `m_bIsSSL` flag setting and make a non-SSL connection. It is mostly useful for making connections to SSL sites through a non-transparent proxy server (i.e. most proxy servers out there).

Note that once you have successfully "tunneled" through the proxy server you must call this function with its argument set to false to properly connect to the SSL site.

Parameters

  enable | if true SSL Tunneling will be enabled

Definition at line 1272 of file tcpslavebase.cpp.

void TCPSlaveBase::setRealHost | ( | const QString & | realHost | ) |

protected

Sets up the the real hostname for an SSL connection that goes through a proxy server.

This function is essential in making sure that the real hostname is used for validating certificates from SSL sites!

Parameters

  realHost | the actual host name we are connecting to

Definition at line 1277 of file tcpslavebase.cpp.

void TCPSlaveBase::setSSLMetaData | ( |  | ) |

protected

Call this if you use persistent connections and want all the metadata restored.

This is particularly important for SSL sessions since the app needs to know the state of connection, certificates, etc.

Definition at line 516 of file tcpslavebase.cpp.

int TCPSlaveBase::startTLS | ( |  | ) |

protected

Start using TLS on the connection.

Returns
  on success, 1 is returned. on failure, 0 is returned. on TLS init failure, -1 is returned. on connect failure, -2 is returned. on certificate failure, -3 is returned.

Definition at line 451 of file tcpslavebase.cpp.

void TCPSlaveBase::stopTLS | ( |  | ) |

protected

Stop using TLS on the connection.

Definition at line 506 of file tcpslavebase.cpp.

bool KIO::TCPSlaveBase::usingSSL | ( |  | ) | const

inline protected

Are we using SSL?

Returns
  if so, true is returned. if not, true isn't returned.

Since
  3.2

Definition at line 183 of file tcpslavebase.h.

bool TCPSlaveBase::usingTLS | ( |  | ) | const

protected

Are we using TLS?

Returns
  if so, true is returned. if not, true isn't returned.

Since
  3.2

Definition at line 723 of file tcpslavebase.cpp.

bool TCPSlaveBase::usingTLS | ( |  | ) |

protected

Deprecated:
  kept for binary compatibility Are we using TLS?

Returns
  if so, true is returned. if not, true isn't returned.

Definition at line 729 of file tcpslavebase.cpp.

bool TCPSlaveBase::waitForResponse | ( | int | t | ) |

protected

Wait for some type of activity on the socket for the period specified by `t`.

Parameters

  t | length of time in seconds that we should monitor the socket before timing out.

Returns
  true if any activity was seen on the socket before the timeout value was reached, false otherwise.

Definition at line 1203 of file tcpslavebase.cpp.

KDE_DEPRECATED ssize_t KIO::TCPSlaveBase::Write | ( | const void * | data,
|  | ssize_t | len
| ) |  |

inline protected

Deprecated:
  Due to inconsistency with KDE naming convention.

Definition at line 63 of file tcpslavebase.h.

ssize_t TCPSlaveBase::write | ( | const void * | data,
|  | ssize_t | len
| ) |  |

protected

This function acts like standard write function call except it is also capable of making SSL or SOCKS connections.

Parameters

  data | info to be sent to remote machine
  len | the length of the data to be sent

Returns
  the actual size of the data that was sent

Definition at line 152 of file tcpslavebase.cpp.

The documentation for this class was generated from the following files:

- tcpslavebase.h
- tcpslavebase.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys