2 namespace wcf\system\user\notification\type;
3 use wcf\data\user\notification\recipient\UserNotificationRecipient;
4 use wcf\data\user\notification\UserNotification;
5 use wcf\data\IDatabaseObjectProcessor;
6 use wcf\system\user\notification\event\IUserNotificationEvent;
9 * This interface should be implemented by every user notification type.
11 * @author Marcel Werk, Oliver Kliebisch
12 * @copyright 2001-2011 WoltLab GmbH, Oliver Kliebisch
13 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
14 * @package com.woltlab.wcf.notification
15 * @subpackage system.user.notification.type
16 * @category Community Framework
18 interface IUserNotificationType extends IDatabaseObjectProcessor {
20 * Sends the notification using this notification transport type.
22 * @param wcf\data\user\notification\UserNotification $notification
23 * @param wcf\data\user\notification\recipient\UserNotificationRecipient $user
24 * @param wcf\system\user\notification\event\IUserNotificationEvent $event
26 public function send(UserNotification $notification, UserNotificationRecipient $user, IUserNotificationEvent $event);
29 * Tries to revoke the notification. This might not be applicable for all notification types.
31 * @param wcf\data\user\notification\UserNotification $notification
32 * @param wcf\data\user\notification\recipient\UserNotificationRecipient $user
33 * @param wcf\system\user\notification\event\IUserNotificationEvent $event
35 public function revoke(UserNotification $notification, UserNotificationRecipient $user, IUserNotificationEvent $event);