]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/CoreBundle/Notifications/NotificationInterface.php
First draft for notifications
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Notifications / NotificationInterface.php
1 <?php
2
3 namespace Wallabag\CoreBundle\Notifications;
4
5 use Psr\Log\LoggerAwareInterface;
6
7 interface NotificationInterface extends LoggerAwareInterface {
8
9 /**
10 * Title of the notification
11 *
12 * @return string
13 */
14 public function getTitle();
15
16 /**
17 * @param string $title
18 * @return NotificationInterface
19 */
20 public function setTitle($title);
21
22 /**
23 * Type of the notification.
24 *
25 * @return string
26 */
27 public function getType();
28
29 /**
30 * @param int $type
31 * @return NotificationInterface
32 */
33 public function setType($type);
34
35 /**
36 * If the notification has been viewed / dismissed or not
37 *
38 * @return boolean
39 */
40 public function isRead();
41
42 /**
43 * @param boolean $read
44 * @return NotificationInterface
45 */
46 public function setRead($read);
47
48 /**
49 * When the notification was sent
50 *
51 * @return \DateTime
52 */
53 public function getTimestamp();
54
55 /**
56 * @param \DateTime $timestamp
57 * @return NotificationInterface
58 */
59 public function setTimestamp(\DateTime $timestamp);
60
61 /**
62 * @param ActionInterface $action
63 * @return NotificationInterface
64 */
65 public function addAction(ActionInterface $action);
66 }