org.kde.koala
public class SlaveBase extends Object implements QtSupport
UNKNOWN: There are two classes that specifies the protocol between application (job) and kioslave.
Constructor Summary | |
---|---|
protected | SlaveBase(Class dummy) |
Method Summary | |
---|---|
boolean | canResume(long offset)
Call this at the beginning of put(), to give the size of the existing
partial file, if there is one. |
void | canResume() |
void | chmod(KURL url, int permissions)
Change permissions on path
The slave emits ERR_DOES_NOT_EXIST or ERR_CANNOT_CHMOD |
void | closeConnection()
Closes the connection (forced)
Called when the application disconnects the slave to close
any open network connections.
|
KConfigBase | config()
Returns a configuration object to query config/meta-data information
from.
|
void | connected()
Call in openConnection, if you reimplement it, when you're done. |
Connection | connection() |
void | connectSlave(String path)
internal function to connect a slave to/ disconnect from
either the slave pool or the application |
int | connectTimeout() |
void | copy(KURL src, KURL dest, int permissions, boolean overwrite)
Copy src into dest.
If the slave returns an error ERR_UNSUPPORTED_ACTION, the job will
ask for get + put instead. |
void | data(byte[] data)
Sends data in the slave to the job (i.e. in get).
|
void | dataReq()
Asks for data from the job. |
DCOPClient | dcopClient()
Return the dcop client used by this slave. |
void | del(KURL url, boolean isfile)
Delete a file or directory. |
void | disconnectSlave() |
boolean | dispatch() |
void | dispatch(int command, byte[] data) |
void | dispatchLoop() |
void | dropNetwork(String host)
Used by the slave to withdraw a connection requested by
requestNetwork. |
void | dropNetwork() |
void | error(int _errid, String _text)
Call to signal an error.
|
void | errorPage()
Tell that we will only get an error page here.
|
void | exit()
Terminate the slave by calling the destructor and then .exit() |
void | finished()
Call to signal successful completion of any command
(besides openConnection and closeConnection) |
void | get(KURL url)
get, aka read. |
boolean | hasMetaData(String key)
Queries for the existence of a certain config/meta-data entry
send by the application to the slave. |
void | infoMessage(String msg)
Call to signal a message, to be displayed if the application wants to,
for instance in a status bar. |
void | listDir(KURL url)
Lists the contents of url.
The slave should emit ERR_CANNOT_ENTER_DIRECTORY if it doesn't exist,
if we don't have enough permissions, or if it is a file
It should also emit totalFiles as soon as it knows how many
files it will list. |
String | metaData(String key)
Queries for config/meta-data send by the application to the slave. |
void | mimetype(KURL url)
Finds mimetype for one file or directory.
|
void | mimeType(String _type)
Call this in mimetype() and in get(), when you know the mimetype.
|
void | mkdir(KURL url, int permissions)
Create a directory |
void | multiGet(byte[] data)
Used for multiple get. |
void | needSubURLData()
Call to signal that data from the sub-URL is needed |
void | openConnection()
Opens the connection (forced)
When this function gets called the slave is operating in
connection-oriented mode.
|
boolean | openPassDlg(AuthInfo info, String errorMsg)
Prompt the user for Authorization info (login & password).
|
boolean | openPassDlg(AuthInfo info)
Same as above function except it does not need error message.
|
void | processedPercent(float percent)
Only use this if you can't know in advance the size of the
copied data. |
void | processedSize(long _bytes)
Call this during get and copy, once in a while,
to give some info about the current state.
|
int | proxyConnectTimeout() |
void | put(KURL url, int permissions, boolean overwrite, boolean resume)
put, aka write. |
int | readData(byte[] buffer)
Read data send by the job, after a dataReq |
int | readTimeout() |
void | redirection(KURL _url)
Call this to signal a redirection
The job will take care of going to that url. |
void | rename(KURL src, KURL dest, boolean overwrite)
Rename oldname into newname.
If the slave returns an error ERR_UNSUPPORTED_ACTION, the job will
ask for copy + del instead. |
void | reparseConfiguration()
Called by the scheduler to tell the slave that the configuration
changed (i.e. proxy settings) . |
boolean | requestNetwork(String host)
Used by the slave to check if it can connect
to a given host. |
boolean | requestNetwork() |
int | responseTimeout() |
void | sendMetaData()
Internal function to transmit meta data to the application. |
void | setConnection(Connection connection) |
void | setHost(String host, int port, String user, String pass)
Set the host |
void | setKillFlag() Internally used. |
void | setMetaData(String key, String value)
Sets meta-data to be send to the application before the first
data() or finished() signal. |
void | setSubURL(KURL url)
Prepare slave for streaming operation |
void | setTimeoutSpecialCommand(int timeout, byte[] data)
This function sets a timeout of timeout seconds and calls
special(data) when the timeout occurs as if it was called by the
application.
|
void | setTimeoutSpecialCommand(int timeout) |
static void | sigpipe_handler(int arg1) |
static void | sigsegv_handler(int arg1) |
void | slaveStatus(String host, boolean connected)
Used to report the status of the slave. |
void | slave_status()
Called to get the status of the slave. |
void | special(byte[] data)
Used for any command that is specific to this slave (protocol)
Examples are : HTTP POST, mount and unmount (kio_file) |
void | speed(long _bytes_per_second)
Call this in get and copy, to give the current transfer
speed, but only if it can't be calculated out of the size you
passed to processedSize (in most cases you don't want to call it) |
void | stat(KURL url)
Finds all details for one file or directory.
|
void | symlink(String target, KURL dest, boolean overwrite)
Creates a symbolic link named dest , pointing to target , which
may be a relative or an absolute path. |
void | totalSize(long _bytes)
Call this in get and copy, to give the total size
of the file
Call in listDir too, when you know the total number of items. |
int | waitForAnswer(int expected1, int expected2, byte[] data, int[] pCmd)
Wait for an answer to our request, until we get expected1 or expected2 |
int | waitForAnswer(int expected1, int expected2, byte[] data) |
void | warning(String msg)
Call to signal a warning, to be displayed in a dialog box. |
boolean | wasKilled() If your ioslave was killed by a signal, wasKilled() returns true.
|
offset
argument notifies the
other job (the one that gets the data) about the offset to use.
In this case, the booleanean returns whether we can indeed resume or not
(we can't if the protocol doing the get() doesn't support setting an offset)UNKNOWN: Call this at the beginning of put(), to give the size of the existing partial file, if there is one.
path
The slave emits ERR_DOES_NOT_EXIST or ERR_CANNOT_CHMODUNKNOWN: Change permissions on path
The slave emits ERR_DOES_NOT_EXIST or ERR_CANNOT_CHMOD
UNKNOWN: Closes the connection (forced) Called when the application disconnects the slave to close any open network connections.
UNKNOWN: Returns a configuration object to query config/meta-data information from.
UNKNOWN: Call in openConnection, if you reimplement it, when you're done.
UNKNOWN:
UNKNOWN: internal function to connect a slave to/ disconnect from either the slave pool or the application
Returns: timeout value for connecting to remote host.
UNKNOWN:
src
into dest.
If the slave returns an error ERR_UNSUPPORTED_ACTION, the job will
ask for get + put instead.Parameters: src where to copy the file from (decoded) dest where to copy the file to (decoded) permissions may be -1. In this case no special permission mode is set. overwrite if true, any existing file will be overwritten
UNKNOWN: Copy src
into dest.
Parameters: data the data read by the slave
UNKNOWN: Sends data in the slave to the job (i.
See Also: SlaveBase
UNKNOWN: Asks for data from the job.
UNKNOWN: Return the dcop client used by this slave.
Parameters: url file/directory to delete isfile if true, a file should be deleted. if false, a directory should be deleted.
UNKNOWN: Delete a file or directory.
UNKNOWN:
UNKNOWN:
UNKNOWN:
Parameters: host the host passed to requestNetwork A slave should call this function every time it disconnect from a host.
UNKNOWN: Used by the slave to withdraw a connection requested by requestNetwork.
Parameters: _errid the error code from KIO.Error _text the rich text error message
See Also: Error KTextBrowser
UNKNOWN: Call to signal an error.
UNKNOWN: Tell that we will only get an error page here.
UNKNOWN:
UNKNOWN: Call to signal successful completion of any command (besides openConnection and closeConnection)
Parameters: url the full url for this request. Host, port and user of the URL can be assumed to be the same as in the last setHost() call. The slave emits the data through data
UNKNOWN: get, aka read.
UNKNOWN: Queries for the existence of a certain config/meta-data entry send by the application to the slave.
UNKNOWN: Call to signal a message, to be displayed if the application wants to, for instance in a status bar.
url.
The slave should emit ERR_CANNOT_ENTER_DIRECTORY if it doesn't exist,
if we don't have enough permissions, or if it is a file
It should also emit totalFiles as soon as it knows how many
files it will list.UNKNOWN: Lists the contents of url.
UNKNOWN: Queries for config/meta-data send by the application to the slave.
UNKNOWN: Finds mimetype for one file or directory.
UNKNOWN: Call this in mimetype() and in get(), when you know the mimetype.
Parameters: url path to the directory to create permissions the permissions to set after creating the directory (-1 if no permissions to be set) The slave emits ERR_COULD_NOT_MKDIR if failure.
UNKNOWN: Create a directory
Parameters: data packed data; Contains number of URLs to fetch, and for each URL the URL itself and its associated MetaData.
UNKNOWN: Used for multiple get.
UNKNOWN: Call to signal that data from the sub-URL is needed
UNKNOWN: Opens the connection (forced) When this function gets called the slave is operating in connection-oriented mode.
KIO.AuthInfo authInfo; if ( openPassDlg( authInfo ) ) { kdDebug() << String.fromLatin1("User: ") << authInfo.username << endl; kdDebug() << String.fromLatin1("Password: ") << String.fromLatin1("Not displayed here!") << endl; }You can also preset some values like the username, caption or comment as follows:
KIO.AuthInfo authInfo; authInfo.caption= "Acme Password Dialog"; authInfo.username= "Wile E. Coyote"; String errorMsg = "You entered an incorrect password."; if ( openPassDlg( authInfo, errorMsg ) ) { kdDebug() << String.fromLatin1("User: ") << authInfo.username << endl; kdDebug() << String.fromLatin1("Password: ") << String.fromLatin1("Not displayed here!") << endl; }Note:<> You should consider using checkCachedAuthentication() to see if the password is available in kpasswdserver before calling this function. Note:<> A call to this function can fail and return
false
,
if the UIServer could not be started for whatever reason.Parameters: info See AuthInfo. errorMsg Error message to show
Returns: true
if user clicks on "OK", false
otherwsie.
See Also: SlaveBase
UNKNOWN: Prompt the user for Authorization info (login & password).
UNKNOWN: Same as above function except it does not need error message.
UNKNOWN: Only use this if you can't know in advance the size of the copied data.
UNKNOWN: Call this during get and copy, once in a while, to give some info about the current state.
Returns: timeout value for connecting to proxy in secs.
UNKNOWN:
Parameters: url where to write the file (decoded) permissions may be -1. In this case no special permission mode is set. overwrite if true, any existing file will be overwritten. If the file indeed already exists, the slave should NOT apply the permissions change to it. resume @short put, aka write.
Parameters: buffer buffer where data is stored
Returns: 0 on end of data, > 0 bytes read < 0 error
UNKNOWN: Read data send by the job, after a dataReq
Returns: timeout value for read from subsequent data from remote host in secs.
UNKNOWN:
UNKNOWN: Call this to signal a redirection The job will take care of going to that url.
oldname
into newname.
If the slave returns an error ERR_UNSUPPORTED_ACTION, the job will
ask for copy + del instead.Parameters: src where to move the file from dest where to move the file to overwrite if true, any existing file will be overwritten
UNKNOWN: Rename oldname
into newname.
UNKNOWN: Called by the scheduler to tell the slave that the configuration changed (i.
Parameters: host tells the netmgr the host the slave wants to connect to. As this could also be a proxy, we can't just take the host currenctly connected to (but that's the default value)
Returns: true in theorie, the host is reachable false the system is offline and the host is in a remote network.
UNKNOWN: Used by the slave to check if it can connect to a given host.
Returns: timeout value for read from first data from remote host in seconds.
UNKNOWN:
UNKNOWN: Internal function to transmit meta data to the application.
UNKNOWN:
Parameters: pass Called directly by createSlave, this is why there is no equivalent in SlaveInterface, unlike the other methods. This method is called whenever a change in host, port or user occurs.
UNKNOWN: Set the host
UNKNOWN: Internally used.
UNKNOWN: Sets meta-data to be send to the application before the first data() or finished() signal.
UNKNOWN: Prepare slave for streaming operation
timeout
seconds and calls
special(data) when the timeout occurs as if it was called by the
application.
A timeout can only occur when the slave is waiting for a command
from the application.
Specifying a negative timeout cancels a pending timeout.
Only one timeout at a time is supported, setting a timeout
cancels any pending timeout.UNKNOWN: This function sets a timeout of timeout
seconds and calls special(data) when the timeout occurs as if it was called by the application.
UNKNOWN:
UNKNOWN:
Parameters: host the slave is currently connected to. (Should be empty if not connected) connected Whether an actual network connection exists.
UNKNOWN: Used to report the status of the slave.
UNKNOWN: Called to get the status of the slave.
Parameters: data packed data; the meaning is completely dependent on the slave, but usually starts with an int for the command number. Document your slave's commands, at least in its header file.
UNKNOWN: Used for any command that is specific to this slave (protocol) Examples are : HTTP POST, mount and unmount (kio_file)
UNKNOWN: Call this in get and copy, to give the current transfer speed, but only if it can't be calculated out of the size you passed to processedSize (in most cases you don't want to call it)
UNKNOWN: Finds all details for one file or directory.
dest
, pointing to target
, which
may be a relative or an absolute path.Parameters: target The string that will become the "target" of the link (can be relative) dest The symlink to create. overwrite whether to automatically overwrite if the dest exists
UNKNOWN: Creates a symbolic link named dest
, pointing to target
, which may be a relative or an absolute path.
UNKNOWN: Call this in get and copy, to give the total size of the file Call in listDir too, when you know the total number of items.
expected1
or expected2
Returns: the result from readData, as well as the cmd in *pCmd if set, and the data in data
UNKNOWN: Wait for an answer to our request, until we get expected1
or expected2
UNKNOWN: Call to signal a warning, to be displayed in a dialog box.
UNKNOWN: If your ioslave was killed by a signal, wasKilled() returns true.