* This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. */ namespace OCP\BackgroundJob; interface IJobList { /** * Add a job to the list * * @param \OCP\BackgroundJob\IJob|string $job * @param mixed $argument The argument to be passed to $job->run() when the job is exectured * @param string $job * @return void */ public function add($job, $argument = null); /** * Remove a job from the list * * @param \OCP\BackgroundJob\IJob|string $job * @param mixed $argument * @return void */ public function remove($job, $argument = null); /** * check if a job is in the list * * @param \OCP\BackgroundJob\IJob|string $job * @param mixed $argument * @return bool */ public function has($job, $argument); /** * get all jobs in the list * * @return \OCP\BackgroundJob\IJob[] */ public function getAll(); /** * get the next job in the list * * @return \OCP\BackgroundJob\IJob */ public function getNext(); /** * @param int $id * @return \OCP\BackgroundJob\IJob */ public function getById($id); /** * set the job that was last ran to the current time * * @param \OCP\BackgroundJob\IJob $job * @return void */ public function setLastJob($job); /** * get the id of the last ran job * * @return int */ public function getLastJob(); /** * set the lastRun of $job to now * * @param \OCP\BackgroundJob\IJob $job * @return void */ public function setLastRun($job); }