summaryrefslogtreecommitdiffstats
path: root/kdejava/koala/org/kde/koala/Scheduler.java
diff options
context:
space:
mode:
Diffstat (limited to 'kdejava/koala/org/kde/koala/Scheduler.java')
-rw-r--r--kdejava/koala/org/kde/koala/Scheduler.java376
1 files changed, 376 insertions, 0 deletions
diff --git a/kdejava/koala/org/kde/koala/Scheduler.java b/kdejava/koala/org/kde/koala/Scheduler.java
new file mode 100644
index 00000000..e6ed1141
--- /dev/null
+++ b/kdejava/koala/org/kde/koala/Scheduler.java
@@ -0,0 +1,376 @@
+//Auto-generated by kalyptus. DO NOT EDIT.
+package org.kde.koala;
+
+import org.kde.qt.Qt;
+import org.kde.qt.QMetaObject;
+import org.kde.qt.QtSupport;
+import org.kde.qt.QObject;
+import java.util.ArrayList;
+import org.kde.qt.QWidget;
+import org.kde.qt.QObject;
+
+/**
+
+ The KIO.Scheduler manages io-slaves for the application.
+ It also queues jobs and assigns the job to a slave when one
+ becomes available.
+ There are 3 possible ways for a job to get a slave:
+ <h3>1. Direct</h3>
+ This is the default. When you create a job the
+ KIO.Scheduler will be notified and will find either an existing
+ slave that is idle or it will create a new slave for the job.
+ Example:
+ <pre>
+ TransferJob job = KIO.get(KURL("http://www.kde.org"));
+ </pre>
+ <h3>2. Scheduled</h3>
+ If you create a lot of jobs, you might want not want to have a
+ slave for each job. If you schedule a job, a maximum number
+ of slaves will be created. When more jobs arrive, they will be
+ queued. When a slave is finished with a job, it will be assigned
+ a job from the queue.
+ Example:
+ <pre>
+ TransferJob job = KIO.get(KURL("http://www.kde.org"));
+ KIO.Scheduler.scheduleJob(job);
+ </pre>
+ <h3>3. Connection Oriented</h3>
+ For some operations it is important that multiple jobs use
+ the same connection. This can only be ensured if all these jobs
+ use the same slave.
+ You can ask the scheduler to open a slave for connection oriented
+ operations. You can then use the scheduler to assign jobs to this
+ slave. The jobs will be queued and the slave will handle these jobs
+ one after the other.
+ Example:
+ <pre>
+ Slave slave = KIO.Scheduler.getConnectedSlave(
+ KURL("pop3://bastian:password@mail.kde.org"));
+ TransferJob job1 = KIO.get(
+ KURL("pop3://bastian:password@mail.kde.org/msg1"));
+ KIO.Scheduler.assignJobToSlave(slave, job1);
+ TransferJob job2 = KIO.get(
+ KURL("pop3://bastian:password@mail.kde.org/msg2"));
+ KIO.Scheduler.assignJobToSlave(slave, job2);
+ TransferJob job3 = KIO.get(
+ KURL("pop3://bastian:password@mail.kde.org/msg3"));
+ KIO.Scheduler.assignJobToSlave(slave, job3);
+ // ... Wait for jobs to finish...
+ KIO.Scheduler.disconnectSlave(slave);
+ </pre>
+ Note that you need to explicitly disconnect the slave when the
+ connection goes down, so your error handler should contain:
+ <pre>
+ if (error == KIO.ERR_CONNECTION_BROKEN)
+ KIO.Scheduler.disconnectSlave(slave);
+ </pre>
+ See {@link SchedulerSignals} for signals emitted by Scheduler
+ @short The KIO.Scheduler manages io-slaves for the application.
+ @see Slave
+ @see Job
+
+*/
+public class Scheduler extends QObject implements DCOPObjectInterface {
+ protected Scheduler(Class dummy){super((Class) null);}
+ public native QMetaObject metaObject();
+ public native String className();
+ public native boolean connect(QObject sender, String signal, String member);
+ public native void debug_info();
+ public native boolean process(String fun, byte[] data, StringBuffer replyType, byte[] replyData);
+ public native ArrayList functions();
+ public native void slotSlaveDied(Slave slave);
+ public native void slotSlaveStatus(int pid, String protocol, String host, boolean connected);
+ /**
+ Register <code>job</code> with the scheduler.
+ The default is to create a new slave for the job if no slave
+ is available. This can be changed by calling scheduleJob.
+ @param job the job to register
+ @short Register <code>job</code> with the scheduler.
+ */
+ public static native void doJob(SimpleJob job);
+ /**
+ Calling ths function makes that <code>job</code> gets scheduled for later
+ execution, if multiple jobs are registered it might wait for
+ other jobs to finish.
+ @param job the job to schedule
+ @short Calling ths function makes that <code>job</code> gets scheduled for later execution, if multiple jobs are registered it might wait for other jobs to finish.
+ */
+ public static native void scheduleJob(SimpleJob job);
+ /**
+ Stop the execution of a job.
+ @param job the job to cancel
+ @short Stop the execution of a job.
+ */
+ public static native void cancelJob(SimpleJob job);
+ /**
+ Called when a job is done.
+ @param job the finished job
+ @param slave the slave that executed the <code>job</code>
+ @short Called when a job is done.
+ */
+ public static native void jobFinished(SimpleJob job, Slave slave);
+ /**
+ Puts a slave on notice. A next job may reuse this slave if it
+ requests the same URL.
+ A job can be put on hold after it has emit'ed its mimetype.
+ Based on the mimetype, the program can give control to another
+ component in the same process which can then resume the job
+ by simply asking for the same URL again.
+ @param job the job that should be stopped
+ @param url the URL that is handled by the <code>url</code>
+ @short Puts a slave on notice.
+ */
+ public static native void putSlaveOnHold(SimpleJob job, KURL url);
+ /**
+ Removes any slave that might have been put on hold. If a slave
+ was put on hold it will be killed.
+ @short Removes any slave that might have been put on hold.
+ */
+ public static native void removeSlaveOnHold();
+ /**
+ Send the slave that was put on hold back to KLauncher. This
+ allows another process to take over the slave and resume the job
+ that was started.
+ @short Send the slave that was put on hold back to KLauncher.
+ */
+ public static native void publishSlaveOnHold();
+ /**
+ Requests a slave for use in connection-oriented mode.
+ @param url This defines the username,password,host & port to
+ connect with.
+ @param config Configuration data for the slave.
+ @return A pointer to a connected slave or 0 if an error occurred.
+
+ @short Requests a slave for use in connection-oriented mode.
+ @see #assignJobToSlave
+ @see #disconnectSlave
+ */
+ // KIO::Slave* getConnectedSlave(const KURL& arg1,const KIO::MetaData& arg2); >>>> NOT CONVERTED
+ public static native Slave getConnectedSlave(KURL url);
+ public static native boolean assignJobToSlave(Slave slave, SimpleJob job);
+ public static native boolean disconnectSlave(Slave slave);
+ /**
+ Send the slave that was put on hold back to KLauncher. This
+ allows another process to take over the slave and resume the job
+ the that was started.
+ Register the mainwindow <code>wid</code> with the KIO subsystem
+ Do not call this, it is called automatically from
+ void KIO.Job.setWindow(QWidget).
+ @param wid the window to register
+ @short Send the slave that was put on hold back to KLauncher.
+ */
+ public static native void registerWindow(QWidget wid);
+ /**
+ Unregisters the window registered by registerWindow().
+ @short
+ */
+ public static native void unregisterWindow(QObject wid);
+ /**
+ Function to connect signals emitted by the scheduler.
+ @short Function to connect signals emitted by the scheduler.
+ @see #slaveConnected
+ @see #slaveError
+ */
+ public static native boolean connect(String signal, QObject receiver, String member);
+ public static native boolean connect(QObject sender, String signal, QObject receiver, String member);
+ public static native boolean disconnect(QObject sender, String signal, QObject receiver, String member);
+ /**
+ When true, the next job will check whether KLauncher has a slave
+ on hold that is suitable for the job.
+ @param b true when KLauncher has a job on hold
+ @short When true, the next job will check whether KLauncher has a slave on hold that is suitable for the job.
+ */
+ public static native void checkSlaveOnHold(boolean b);
+ // void setupSlave(KIO::Slave* arg1,const KURL& arg2,const QString& arg3,const QString& arg4,bool arg5,const KIO::MetaData* arg6); >>>> NOT CONVERTED
+ protected native void setupSlave(Slave slave, KURL url, String protocol, String proxy, boolean newSlave);
+ // bool startJobScheduled(KIO::Scheduler::ProtocolInfo* arg1); >>>> NOT CONVERTED
+ protected native boolean startJobDirect();
+ public Scheduler() {
+ super((Class) null);
+ newScheduler();
+ }
+ private native void newScheduler();
+ protected native void startStep();
+ protected native void slotCleanIdleSlaves();
+ protected native void slotSlaveConnected();
+ protected native void slotSlaveError(int error, String errorMsg);
+ protected native void slotScheduleCoSlave();
+ protected native void slotUnregisterWindow(QObject arg1);
+ /**
+ Returns the object id of the DCOPObject.
+ @return the object's id
+
+ @short Returns the object id of the DCOPObject.
+ */
+ public native String objId();
+ /**
+ Renames a dcop object, if no other with the same name exists
+ Use with care, all dcop signals are disconnected
+ @param objId the new object id
+ @short Renames a dcop object, if no other with the same name exists Use with care, all dcop signals are disconnected
+ */
+ public native boolean setObjId(String objId);
+ /**
+ This function is of interest when you used an IDL compiler
+ to generate the implementation for process() but
+ you still want to dispatch some functions dynamically.
+ Dynamically means that methods may appear and vanish
+ during runtime.
+ @param fun is the normalized function signature.
+ Such a signature usually looks like
+ foobar(String,int). The return type,
+ qualifiers like "const" etc. are not part of
+ the signature.
+ @param data the received data
+ @param replyType write the reply type in this string
+ @param replyData write the reply data in this array
+ @return true if successful, false otherwise. The default implementation
+ returns always false.
+
+ @short This function is of interest when you used an IDL compiler to generate the implementation for process() but you still want to dispatch some functions dynamically.
+ @see #process
+ @see DCOPClient#normalizeFunctionSignature
+ @see #functions
+ @see DCOPClient#process
+ */
+ public native boolean processDynamic(String fun, byte[] data, StringBuffer replyType, byte[] replyData);
+ /**
+ This function is of interest when you used an IDL compiler
+ to generate the implementation for functions() but
+ you still want to list some functions dynamically.
+ Dynamically means that the methods may appear and vanish
+ during runtime.
+ @return A list of the additional functions, default is an empty list.
+
+ @short This function is of interest when you used an IDL compiler to generate the implementation for functions() but you still want to list some functions dynamically.
+ @see #functions
+ */
+ public native ArrayList functionsDynamic();
+ /**
+ This function is of interest when you used an IDL compiler
+ to generate the implementation for interfaces() but
+ you still want to list some interfaces dynamically.
+ Dynamically means that they may appear and vanish
+ during runtime.
+ @return A list of the additional interfaces, default is an empty list.
+
+ @short This function is of interest when you used an IDL compiler to generate the implementation for interfaces() but you still want to list some interfaces dynamically.
+ @see #interfaces
+ */
+ public native ArrayList interfacesDynamic();
+ /**
+ Returns the names of the interfaces, specific ones last. The
+ functions gets reimplemented by the IDL compiler. If you don't
+ use the IDL compiler, consider implementing this function
+ manually if you want your object to be easily explorable.
+ @return a list of interfaces
+
+ @short Returns the names of the interfaces, specific ones last.
+ @see #functions
+ */
+ public native ArrayList interfaces();
+ /**
+ Emit <code>signal</code> as DCOP signal from this object with <code>data</code> as
+ arguments
+ @param signal the signal to emit
+ @param data the data to send
+ @short Emit <code>signal</code> as DCOP signal from this object with <code>data</code> as arguments
+ */
+ public native void emitDCOPSignal(String signal, byte[] data);
+ /**
+ Connects to a DCOP signal.
+ @param sender the name of the client that emits the signal. When empty
+ the signal will be passed from any client.
+ @param senderObj the name of the sending object that emits the signal.
+ @param signal the name of the signal. The arguments should match with slot.
+ @param slot The name of the slot to call. Its arguments should match with signal.
+ @param Volatile If true, the connection will not be reestablished when
+ <code>sender</code> unregisters and reregisters with DCOP. In this case the <code>sender</code>
+ must be registered when the connection is made.
+ If false, the connection will be reestablished when <code>sender</code> reregisters.
+ In this case the connection can be made even if <code>sender</code> is not registered
+ at that time.
+
+ <li>
+ <code>Volatile</code> is true and <code>sender</code> does not exist.
+ </li>
+
+ <li>
+ <code>signal</code> and <code>slot</code> do not have matching arguments.
+
+ </li> @return false if a connection could not be established.
+ This will be the case when
+
+ @short Connects to a DCOP signal.
+ */
+ public native boolean connectDCOPSignal(String sender, String senderObj, String signal, String slot, boolean Volatile);
+ /**
+ Disconnects a DCOP signal.
+ A special case is when both <code>sender</code> & <code>signal</code> are empty. In this
+ case all connections related to this object in the current client
+ are disconnected. (Both connections from as well as to this object!)
+ @param sender the name of the client that emits the signal.
+ @param senderObj the name of the object that emits the signal.
+ If empty all objects will be disconnected.
+ @param signal the name of the signal. The arguments should match with slot.
+ If empty all objects will be disconnected.
+ @param slot The name of the slot the signal is connected to.
+ If empty all slots will be disconnected.
+ @return false if no connection(s) where removed.
+
+ @short Disconnects a DCOP signal.
+ */
+ public native boolean disconnectDCOPSignal(String sender, String senderObj, String signal, String slot);
+ /**
+ Returns the DCOPClient responsible for making the call.
+ Only call this function while you are handling a DCOP call.
+ @return the DCOPClient responsible for making the call.
+ This information is only guaranteed to be correct when
+ entering your DCOP function.
+
+ @short Returns the DCOPClient responsible for making the call.
+ */
+ public native DCOPClient callingDcopClient();
+ /**
+ @short
+ */
+ public native void setCallingDcopClient(DCOPClient arg1);
+ /**
+ Checks whether an object with the given id is known in this process.
+ DCOPObjectProxy
+ @return true if an object with the questionable <code>objId</code> is
+ known in this process. This query does not ask proxies.
+
+ @short Checks whether an object with the given id is known in this process.
+ */
+ public static native boolean hasObject(String objId);
+ /**
+ Try to find a dcop object with the given id.
+ This function does not query the DCOPObjectProxy.
+ @param objId the object id to search
+ @return the DCOPObject for the id <code>objId.</code>
+
+ @short Try to find a dcop object with the given id.
+ */
+ public static native DCOPObjectInterface find(String objId);
+ /**
+ Tries to find an object using a partial object id.
+ This function is used for multicasting a DCOP message to
+ several objects inside a single process.
+ @param partialId the partial object id to search for
+ @return a list of DCOPObjects beginning with the string
+ contained in <code>partialId.</code>
+
+ @short Tries to find an object using a partial object id.
+ */
+ // QPtrList<DCOPObject> match(const QCString& arg1); >>>> NOT CONVERTED
+ /**
+ Creates an object id for the QObject <code>obj.</code> This is done
+ using the QObject.name() function.
+ @param obj the object whose name will be used
+ @return the created object id
+
+ @short Creates an object id for the QObject <code>obj.</code>
+ */
+ public static native String objectName(QObject arg1);
+}