]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Notifications/NotificationInterface.php
Notifications
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Notifications / NotificationInterface.php
diff --git a/src/Wallabag/CoreBundle/Notifications/NotificationInterface.php b/src/Wallabag/CoreBundle/Notifications/NotificationInterface.php
new file mode 100644 (file)
index 0000000..4a3c275
--- /dev/null
@@ -0,0 +1,103 @@
+<?php
+
+namespace Wallabag\CoreBundle\Notifications;
+
+use Psr\Log\LoggerAwareInterface;
+
+interface NotificationInterface extends LoggerAwareInterface
+{
+    /**
+     * Title of the notification.
+     *
+     * @return string
+     */
+    public function getTitle();
+
+    /**
+     * @param string $title
+     *
+     * @return NotificationInterface
+     */
+    public function setTitle($title);
+
+    /**
+     * Type of the notification.
+     *
+     * @return string
+     */
+    public function getType();
+
+    /**
+     * @param int $type
+     *
+     * @return NotificationInterface
+     */
+    public function setType($type);
+
+    /**
+     * If the notification has been viewed / dismissed or not.
+     *
+     * @return bool
+     */
+    public function isRead();
+
+    /**
+     * @param bool $read
+     *
+     * @return NotificationInterface
+     */
+    public function setRead($read);
+
+    /**
+     * When the notification was sent.
+     *
+     * @return \DateTime
+     */
+    public function getTimestamp();
+
+    /**
+     * @param \DateTime $timestamp
+     *
+     * @return NotificationInterface
+     */
+    public function setTimestamp(\DateTime $timestamp);
+
+    /**
+     * @param ActionInterface $action
+     *
+     * @return NotificationInterface
+     */
+    public function addAction(ActionInterface $action);
+
+    /**
+     * @return string
+     */
+    public function getDescription();
+
+    /**
+     * @param string $description
+     *
+     * @return NotificationInterface
+     */
+    public function setDescription($description);
+
+    /**
+     * @return array
+     */
+    public function getParameters();
+
+    /**
+     * @param array $parameters
+     *
+     * @return NotificationInterface
+     */
+    public function setParameters($parameters);
+
+    /**
+     * @param string $key
+     * @param string $value
+     *
+     * @return NotificationInterface
+     */
+    public function addParameter($key, $value);
+}