### Eclipse Workspace Patch 1.0
#P d7dev
Index: modules/system/system.api.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.api.php,v
retrieving revision 1.151
diff -u -r1.151 system.api.php
--- modules/system/system.api.php	10 Apr 2010 17:30:15 -0000	1.151
+++ modules/system/system.api.php	20 Apr 2010 18:46:42 -0000
@@ -3232,6 +3232,84 @@
   // Quebec has seceded from Canada. Add to country list.
   $countries['QC'] = 'Quebec';
 }
+
+/**
+ * Provide information on updaters (classes that can update Drupal).
+ *
+ * An Updater is a class that knows how to update various parts of the Drupal
+ * file system, for example to update modules that have newer releases, or to
+ * install a new theme.
+ *
+ * @return
+ *   An associative array of information about the updater being provided. 
+ *   This array can contain the following keys:
+ *   - class: The name of the PHP class which implements this updater.
+ *   - name: Human-readable name of this updater.
+ *   - weight: Controls what order the updaters are presented to the user.
+ *
+ * @see drupal_get_updaters()
+ * @see hook_updater_info_alter()
+ */
+function hook_updater_info() {
+  return array(
+    'module' => array(
+      'class' => 'ModuleUpdater',
+      'name' => t('Update modules'),
+      'weight' => 0,
+    ),
+    'theme' => array(
+      'class' => 'ThemeUpdater',
+      'name' => t('Update themes'),
+      'weight' => 0,
+    ),
+  );
+}
+
+/**
+ * Alter the updater information array. 
+ *
+ * An Updater is a class that knows how to update various parts of the Drupal
+ * file system, for example to update modules that have newer releases, or to
+ * install a new theme.
+ *
+ * @param $updaters
+ *   Associative array of updaters as defined through hook_updater_info().
+ *   Alter this array directly.
+ *
+ * @see drupal_get_updaters()
+ * @see hook_updater_info()
+ */
+function hook_updater_info_alter(&$updaters) {
+  // Adjust weight so that themes are displayed before modules.
+  $updaters['theme']['weight'] = -1;
+}
+
+/**
+ * Verify an archive after it has been downloaded and extracted.
+ *
+ * @param string $project
+ *   The short name of the project that has been download.
+ * @param string $archive_file
+ *   The filename of the unextracted archive.
+ * @param string $directory
+ *   The directory that the archive was extracted into.
+ *
+ * @return
+ *   If there is a problem, return any non-null value. If there is no problem,
+ *   return NULL.
+ *
+ * @see update_manager_archive_verify()
+ */
+function hook_verify_update_archive($project, $archive_file, $directory) {
+  if (!file_exists($directory)) {
+    return TRUE;
+  }
+
+  // Add other checks on the archive integrity here.
+
+  return NULL;
+}
+
 /**
  * @} End of "addtogroup hooks".
  */
