[Pkg-owncloud-commits] [owncloud] 255/457: move emitter implementation to a trait

David Prévot taffit at moszumanska.debian.org
Sun Jun 28 20:06:18 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch stable8
in repository owncloud.

commit c91b52d38cdfe68d17485795be6811c2120280b9
Author: Robin Appelman <icewind at owncloud.com>
Date:   Thu May 7 13:37:38 2015 +0200

    move emitter implementation to a trait
---
 lib/private/hooks/basicemitter.php                 | 78 +---------------------
 .../hooks/{basicemitter.php => emittertrait.php}   |  2 +-
 2 files changed, 2 insertions(+), 78 deletions(-)

diff --git a/lib/private/hooks/basicemitter.php b/lib/private/hooks/basicemitter.php
index 03d0d1d..ae0f96f 100644
--- a/lib/private/hooks/basicemitter.php
+++ b/lib/private/hooks/basicemitter.php
@@ -23,81 +23,5 @@
 namespace OC\Hooks;
 
 abstract class BasicEmitter implements Emitter {
-
-	/**
-	 * @var (callable[])[] $listeners
-	 */
-	protected $listeners = array();
-
-	/**
-	 * @param string $scope
-	 * @param string $method
-	 * @param callable $callback
-	 */
-	public function listen($scope, $method, $callback) {
-		$eventName = $scope . '::' . $method;
-		if (!isset($this->listeners[$eventName])) {
-			$this->listeners[$eventName] = array();
-		}
-		if (array_search($callback, $this->listeners[$eventName]) === false) {
-			$this->listeners[$eventName][] = $callback;
-		}
-	}
-
-	/**
-	 * @param string $scope optional
-	 * @param string $method optional
-	 * @param callable $callback optional
-	 */
-	public function removeListener($scope = null, $method = null, $callback = null) {
-		$names = array();
-		$allNames = array_keys($this->listeners);
-		if ($scope and $method) {
-			$name = $scope . '::' . $method;
-			if (isset($this->listeners[$name])) {
-				$names[] = $name;
-			}
-		} elseif ($scope) {
-			foreach ($allNames as $name) {
-				$parts = explode('::', $name, 2);
-				if ($parts[0] == $scope) {
-					$names[] = $name;
-				}
-			}
-		} elseif ($method) {
-			foreach ($allNames as $name) {
-				$parts = explode('::', $name, 2);
-				if ($parts[1] == $method) {
-					$names[] = $name;
-				}
-			}
-		} else {
-			$names = $allNames;
-		}
-
-		foreach ($names as $name) {
-			if ($callback) {
-				$index = array_search($callback, $this->listeners[$name]);
-				if ($index !== false) {
-					unset($this->listeners[$name][$index]);
-				}
-			} else {
-				$this->listeners[$name] = array();
-			}
-		}
-	}
-
-	/**
-	 * @param string $scope
-	 * @param string $method
-	 * @param array $arguments optional
-	 */
-	protected function emit($scope, $method, $arguments = array()) {
-		$eventName = $scope . '::' . $method;
-		if (isset($this->listeners[$eventName])) {
-			foreach ($this->listeners[$eventName] as $callback) {
-				call_user_func_array($callback, $arguments);
-			}
-		}
-	}
+	use EmitterTrait;
 }
diff --git a/lib/private/hooks/basicemitter.php b/lib/private/hooks/emittertrait.php
similarity index 98%
copy from lib/private/hooks/basicemitter.php
copy to lib/private/hooks/emittertrait.php
index 03d0d1d..a80d7d5 100644
--- a/lib/private/hooks/basicemitter.php
+++ b/lib/private/hooks/emittertrait.php
@@ -22,7 +22,7 @@
 
 namespace OC\Hooks;
 
-abstract class BasicEmitter implements Emitter {
+trait EmitterTrait {
 
 	/**
 	 * @var (callable[])[] $listeners

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list