summaryrefslogtreecommitdiffstats
path: root/lib/private/hooks
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-04-26 15:33:47 +0200
committerRoeland Jago Douma <rullzer@owncloud.com>2016-04-26 15:33:47 +0200
commit9a9834d9f55ca10a641ef3626f150914901478bb (patch)
tree93b080a9d2b6fcadf521b3da88363ea20523bc71 /lib/private/hooks
parent887045b790ced3473f2c0e955abcdd2bc1944612 (diff)
downloadnextcloud-server-9a9834d9f55ca10a641ef3626f150914901478bb.tar.gz
nextcloud-server-9a9834d9f55ca10a641ef3626f150914901478bb.zip
Move \OC\Hooks to PSR-4
Diffstat (limited to 'lib/private/hooks')
-rw-r--r--lib/private/hooks/basicemitter.php27
-rw-r--r--lib/private/hooks/emitter.php49
-rw-r--r--lib/private/hooks/emittertrait.php102
-rw-r--r--lib/private/hooks/forwardingemitter.php64
-rw-r--r--lib/private/hooks/legacyemitter.php30
-rw-r--r--lib/private/hooks/publicemitter.php34
6 files changed, 0 insertions, 306 deletions
diff --git a/lib/private/hooks/basicemitter.php b/lib/private/hooks/basicemitter.php
deleted file mode 100644
index 067962ec081..00000000000
--- a/lib/private/hooks/basicemitter.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OC\Hooks;
-
-abstract class BasicEmitter implements Emitter {
- use EmitterTrait;
-}
diff --git a/lib/private/hooks/emitter.php b/lib/private/hooks/emitter.php
deleted file mode 100644
index d639e5ef892..00000000000
--- a/lib/private/hooks/emitter.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * @author Jörn Friedrich Dreyer <jfd@butonic.de>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OC\Hooks;
-
-/**
- * Class Emitter
- *
- * interface for all classes that are able to emit events
- *
- * @package OC\Hooks
- */
-interface Emitter {
- /**
- * @param string $scope
- * @param string $method
- * @param callable $callback
- * @return void
- */
- public function listen($scope, $method, callable $callback);
-
- /**
- * @param string $scope optional
- * @param string $method optional
- * @param callable $callback optional
- * @return void
- */
- public function removeListener($scope = null, $method = null, callable $callback = null);
-}
diff --git a/lib/private/hooks/emittertrait.php b/lib/private/hooks/emittertrait.php
deleted file mode 100644
index 775f46f838c..00000000000
--- a/lib/private/hooks/emittertrait.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/**
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OC\Hooks;
-
-trait EmitterTrait {
-
- /**
- * @var (callable[])[] $listeners
- */
- protected $listeners = array();
-
- /**
- * @param string $scope
- * @param string $method
- * @param callable $callback
- */
- public function listen($scope, $method, callable $callback) {
- $eventName = $scope . '::' . $method;
- if (!isset($this->listeners[$eventName])) {
- $this->listeners[$eventName] = array();
- }
- if (array_search($callback, $this->listeners[$eventName], true) === false) {
- $this->listeners[$eventName][] = $callback;
- }
- }
-
- /**
- * @param string $scope optional
- * @param string $method optional
- * @param callable $callback optional
- */
- public function removeListener($scope = null, $method = null, callable $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], true);
- 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, array $arguments = array()) {
- $eventName = $scope . '::' . $method;
- if (isset($this->listeners[$eventName])) {
- foreach ($this->listeners[$eventName] as $callback) {
- call_user_func_array($callback, $arguments);
- }
- }
- }
-}
diff --git a/lib/private/hooks/forwardingemitter.php b/lib/private/hooks/forwardingemitter.php
deleted file mode 100644
index 6a1fc571cea..00000000000
--- a/lib/private/hooks/forwardingemitter.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-/**
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OC\Hooks;
-
-/**
- * Class ForwardingEmitter
- *
- * allows forwarding all listen calls to other emitters
- *
- * @package OC\Hooks
- */
-abstract class ForwardingEmitter extends BasicEmitter {
- /**
- * @var \OC\Hooks\Emitter[] array
- */
- private $forwardEmitters = array();
-
- /**
- * @param string $scope
- * @param string $method
- * @param callable $callback
- */
- public function listen($scope, $method, callable $callback) {
- parent::listen($scope, $method, $callback);
- foreach ($this->forwardEmitters as $emitter) {
- $emitter->listen($scope, $method, $callback);
- }
- }
-
- /**
- * @param \OC\Hooks\Emitter $emitter
- */
- protected function forward(Emitter $emitter) {
- $this->forwardEmitters[] = $emitter;
-
- //forward all previously connected hooks
- foreach ($this->listeners as $key => $listeners) {
- list($scope, $method) = explode('::', $key, 2);
- foreach ($listeners as $listener) {
- $emitter->listen($scope, $method, $listener);
- }
- }
- }
-}
diff --git a/lib/private/hooks/legacyemitter.php b/lib/private/hooks/legacyemitter.php
deleted file mode 100644
index ac83477a144..00000000000
--- a/lib/private/hooks/legacyemitter.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OC\Hooks;
-
-abstract class LegacyEmitter extends BasicEmitter {
- protected function emit($scope, $method, array $arguments = array()) {
- \OC_Hook::emit($scope, $method, $arguments);
- parent::emit($scope, $method, $arguments);
- }
-}
diff --git a/lib/private/hooks/publicemitter.php b/lib/private/hooks/publicemitter.php
deleted file mode 100644
index 4fe71073a1e..00000000000
--- a/lib/private/hooks/publicemitter.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/**
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OC\Hooks;
-
-class PublicEmitter extends BasicEmitter {
- /**
- * @param string $scope
- * @param string $method
- * @param array $arguments optional
- */
- public function emit($scope, $method, array $arguments = array()) {
- parent::emit($scope, $method, $arguments);
- }
-}