aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/systemtag
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2016-02-01 11:48:46 +0100
committerJoas Schilling <nickvergessen@owncloud.com>2016-02-02 09:57:42 +0100
commit591613fce222d1902ac9d981ca6ae99e5aea23cc (patch)
treed4e015b6397b2e46f99b2508c40190c90216b5b0 /lib/public/systemtag
parent9861a7f6ccde73ad551a1d75b36baed3f9edf530 (diff)
downloadnextcloud-server-591613fce222d1902ac9d981ca6ae99e5aea23cc.tar.gz
nextcloud-server-591613fce222d1902ac9d981ca6ae99e5aea23cc.zip
Dispatch some events when tags are un-/assigned
Diffstat (limited to 'lib/public/systemtag')
-rw-r--r--lib/public/systemtag/mapperevent.php93
1 files changed, 93 insertions, 0 deletions
diff --git a/lib/public/systemtag/mapperevent.php b/lib/public/systemtag/mapperevent.php
new file mode 100644
index 00000000000..e05a5ce09c8
--- /dev/null
+++ b/lib/public/systemtag/mapperevent.php
@@ -0,0 +1,93 @@
+<?php
+/**
+ * @author Joas Schilling <nickvergessen@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 OCP\SystemTag;
+
+use Symfony\Component\EventDispatcher\Event;
+
+/**
+ * Class MapperEvent
+ *
+ * @package OCP\SystemTag
+ * @since 9.0.0
+ */
+class MapperEvent extends Event {
+
+ const EVENT_ASSIGN = 'OCP\SystemTag\ISystemTagObjectMapper::assignTags';
+ const EVENT_UNASSIGN = 'OCP\SystemTag\ISystemTagObjectMapper::unassignTags';
+
+ /** @var string */
+ protected $event;
+ /** @var string */
+ protected $objectType;
+ /** @var string */
+ protected $objectId;
+ /** @var int[] */
+ protected $tags;
+
+ /**
+ * DispatcherEvent constructor.
+ *
+ * @param string $event
+ * @param string $objectType
+ * @param string $objectId
+ * @param int[] $tags
+ * @since 9.0.0
+ */
+ public function __construct($event, $objectType, $objectId, array $tags) {
+ $this->event = $event;
+ $this->objectType = $objectType;
+ $this->objectId = $objectId;
+ $this->tags = $tags;
+ }
+
+ /**
+ * @return string
+ * @since 9.0.0
+ */
+ public function getEvent() {
+ return $this->event;
+ }
+
+ /**
+ * @return string
+ * @since 9.0.0
+ */
+ public function getObjectType() {
+ return $this->objectType;
+ }
+
+ /**
+ * @return string
+ * @since 9.0.0
+ */
+ public function getObjectId() {
+ return $this->objectId;
+ }
+
+ /**
+ * @return int[]
+ * @since 9.0.0
+ */
+ public function getTags() {
+ return $this->tags;
+ }
+}