comparison core/modules/update/src/UpdateProcessorInterface.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 namespace Drupal\update;
4
5 /**
6 * Processor of project update information.
7 */
8 interface UpdateProcessorInterface {
9
10 /**
11 * Claims an item in the update fetch queue for processing.
12 *
13 * @return bool|\stdClass
14 * On success we return an item object. If the queue is unable to claim an
15 * item it returns false.
16 *
17 * @see \Drupal\Core\Queue\QueueInterface::claimItem()
18 */
19 public function claimQueueItem();
20
21 /**
22 * Attempts to drain the queue of tasks for release history data to fetch.
23 */
24 public function fetchData();
25
26 /**
27 * Adds a task to the queue for fetching release history data for a project.
28 *
29 * We only create a new fetch task if there's no task already in the queue for
30 * this particular project (based on 'update_fetch_task' key-value
31 * collection).
32 *
33 * @param array $project
34 * Associative array of information about a project as created by
35 * \Drupal\Update\UpdateManager::getProjects(), including keys such as
36 * 'name' (short name), and the 'info' array with data from a .info.yml
37 * file for the project.
38 *
39 * @see \Drupal\update\UpdateManager::getProjects()
40 * @see update_get_available()
41 * @see \Drupal\update\UpdateManager::refreshUpdateData()
42 * @see \Drupal\update\UpdateProcessor::fetchData()
43 * @see \Drupal\update\UpdateProcessor::processFetchTask()
44 */
45 public function createFetchTask($project);
46
47 /**
48 * Processes a task to fetch available update data for a single project.
49 *
50 * Once the release history XML data is downloaded, it is parsed and saved in
51 * an entry just for that project.
52 *
53 * @param array $project
54 * Associative array of information about the project to fetch data for.
55 *
56 * @return bool
57 * TRUE if we fetched parsable XML, otherwise FALSE.
58 */
59 public function processFetchTask($project);
60
61 /**
62 * Retrieves the number of items in the update fetch queue.
63 *
64 * @return int
65 * An integer estimate of the number of items in the queue.
66 *
67 * @see \Drupal\Core\Queue\QueueInterface::numberOfItems()
68 */
69 public function numberOfQueueItems();
70
71 /**
72 * Deletes a finished item from the update fetch queue.
73 *
74 * @param \stdClass $item
75 * The item returned by \Drupal\Core\Queue\QueueInterface::claimItem().
76 *
77 * @see \Drupal\Core\Queue\QueueInterface::deleteItem()
78 */
79 public function deleteQueueItem($item);
80
81 }