diff options
Diffstat (limited to 'lib/public/User/Events/UserLiveStatusEvent.php')
-rw-r--r-- | lib/public/User/Events/UserLiveStatusEvent.php | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/lib/public/User/Events/UserLiveStatusEvent.php b/lib/public/User/Events/UserLiveStatusEvent.php new file mode 100644 index 00000000000..b1f4c9c1d75 --- /dev/null +++ b/lib/public/User/Events/UserLiveStatusEvent.php @@ -0,0 +1,92 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCP\User\Events; + +use OCP\EventDispatcher\Event; +use OCP\IUser; +use OCP\UserStatus\IUserStatus; + +/** + * @since 20.0.0 + */ +class UserLiveStatusEvent extends Event { + /** + * @var string + * @since 20.0.0 + */ + public const STATUS_ONLINE = 'online'; + + /** + * @var string + * @since 20.0.0 + */ + public const STATUS_AWAY = 'away'; + + /** + * @var string + * @since 20.0.0 + */ + public const STATUS_OFFLINE = 'offline'; + + private IUser $user; + private string $status; + private int $timestamp; + private ?IUserStatus $userStatus = null; + + /** + * @since 20.0.0 + */ + public function __construct(IUser $user, + string $status, + int $timestamp) { + parent::__construct(); + $this->user = $user; + $this->status = $status; + $this->timestamp = $timestamp; + } + + /** + * @return IUser + * @since 20.0.0 + */ + public function getUser(): IUser { + return $this->user; + } + + /** + * @return string + * @since 20.0.0 + */ + public function getStatus(): string { + return $this->status; + } + + /** + * @return int + * @since 20.0.0 + */ + public function getTimestamp(): int { + return $this->timestamp; + } + + /** + * Get the user status that might be available after processing the event + * @since 24.0.0 + */ + public function getUserStatus(): ?IUserStatus { + return $this->userStatus; + } + + /** + * @since 24.0.0 + */ + public function setUserStatus(IUserStatus $userStatus) { + $this->userStatus = $userStatus; + } +} |