* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
interface DeliverableMail extends FrameworkInterface {
+ /**
+ * Loads a text or HTML template depending on configuration into the template engine
+ *
+ * @param $templateName Name of the template we shall load
+ * @return void
+ */
+ function loadTemplate ($templateName);
+
+ /**
+ * Adds a user class to the recipient list for current template
+ *
+ * @param $userInstance An instance of a user class
+ * @return void
+ */
+ function addRecipientByUserInstance (ManageableUser $userInstance);
+
+ /**
+ * Use subject line provided by the (XML) template otherwise a subject line must be set
+ *
+ * @return void
+ */
+ function useSubjectFromTemplate ();
+
+ /**
+ * Deliver email to the recipient(s)
+ *
+ * @return void
+ */
+ function deliverEmail();
+
+ /**
+ * Send notification to the admin
+ *
+ * @return void
+ */
+ function sendAdminNotification();
}
//