. /** * Adhoc task abstract class. * * All background tasks should extend this class. * * @package core * @category task * @copyright 2013 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace core\task; /** * Abstract class defining an adhoc task. * @copyright 2013 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ abstract class adhoc_task extends task_base { /** @var string $customdata - Custom data required for when this task is executed. */ private $customdata = ''; /** @var integer|null $id - Adhoc tasks each have their own database record id. */ private $id = null; /** * Setter for $id. * @param int|null $id */ public function set_id($id) { $this->id = $id; } /** * Getter for $id. * @return int|null $id */ public function get_id() { return $this->id; } /** * Setter for $customdata. * @param mixed $customdata (anything that can be handled by json_encode) */ public function set_custom_data($customdata) { $this->customdata = json_encode($customdata); } /** * Getter for $customdata. * @return mixed (anything that can be handled by json_decode). */ public function get_custom_data() { return json_decode($this->customdata); } }