From e6cf082fe07e4e33c883bd5f9aaa0cc72b082741 Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Wed, 21 Nov 2012 22:44:43 +0100
Subject: [PATCH] emit a hooks during the filesystem scan

---
 lib/files/cache/scanner.php | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php
index 404029ee2e..e650a220f5 100644
--- a/lib/files/cache/scanner.php
+++ b/lib/files/cache/scanner.php
@@ -14,6 +14,11 @@ class Scanner {
 	 */
 	private $storage;
 
+	/**
+	 * @var string $storageId
+	 */
+	private $storageId;
+
 	/**
 	 * @var \OC\Files\Cache\Cache $cache
 	 */
@@ -29,6 +34,7 @@ class Scanner {
 
 	public function __construct(\OC\Files\Storage\Storage $storage) {
 		$this->storage = $storage;
+		$this->storageId = $this->storage->getId();
 		$this->cache = $storage->getCache();
 		$this->permissionsCache = $storage->getPermissionsCache();
 	}
@@ -62,6 +68,7 @@ class Scanner {
 	 * @return array with metadata of the scanned file
 	 */
 	public function scanFile($file) {
+		\OC_Hook::emit('\OC\Files\Cache\Scanner', 'scan_file', array('path' => $file, 'storage' => $this->storageId));
 		$data = $this->getData($file);
 		if ($file !== '') {
 			$parent = dirname($file);
@@ -85,6 +92,7 @@ class Scanner {
 	 * @return int the size of the scanned folder or -1 if the size is unknown at this stage
 	 */
 	public function scan($path, $recursive = self::SCAN_RECURSIVE) {
+		\OC_Hook::emit('\OC\Files\Cache\Scanner', 'scan_folder', array('path' => $path, 'storage' => $this->storageId));
 		$this->scanFile($path);
 
 		$size = 0;
-- 
GitLab