summaryrefslogtreecommitdiff
path: root/gentoobrowse-api/service/notificationsimpl.h
blob: 2cc69356d5a222bd18177c45ab25dcb72d9ca63c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef NOTIFICATIONSIMPL_H
#define NOTIFICATIONSIMPL_H

#include "mail.h"
#include "user-models.h"
#include <memory>
#include <notifications.h>
#include <string>
#include <visibility.h>
#include <xsltInternals.h>
namespace Gentoo {
	struct NewsContent;
}

namespace Gentoo::Service {
	class DLL_PUBLIC Notifications : public Gentoo::Notifications {
	public:
		Notifications();

		IceTray::Mail::EmailPtr getSignup(const Gentoo::NewUserPtr &) override;
		IceTray::Mail::EmailPtr getNews(const Gentoo::UserPtr &, const Gentoo::NewsContent &) override;

	private:
		IceTray::Mail::EmailPtr basicMail(const std::string &, const Gentoo::UserPtr & u);

		using xsltSSPtr = std::shared_ptr<xsltStylesheet>;
		xsltSSPtr news;
		xsltSSPtr signup;
	};
}

#endif