summaryrefslogtreecommitdiff
path: root/gentoobrowse-api/service/notifications/notifications.ice
diff options
context:
space:
mode:
Diffstat (limited to 'gentoobrowse-api/service/notifications/notifications.ice')
-rw-r--r--gentoobrowse-api/service/notifications/notifications.ice49
1 files changed, 49 insertions, 0 deletions
diff --git a/gentoobrowse-api/service/notifications/notifications.ice b/gentoobrowse-api/service/notifications/notifications.ice
new file mode 100644
index 0000000..a60fa28
--- /dev/null
+++ b/gentoobrowse-api/service/notifications/notifications.ice
@@ -0,0 +1,49 @@
+#ifndef GENTOO_NOTIFICATIONS
+#define GENTOO_NOTIFICATIONS
+
+#include <user-models.ice>
+#include <portage-models.ice>
+
+module Gentoo {
+ class MimePart {
+ string mimetype;
+ string payload;
+ };
+
+ sequence<MimePart> MimeParts;
+
+ struct Address {
+ string name;
+ string address;
+ };
+
+ class Email {
+ Address to;
+ Address from;
+ string subject;
+ MimeParts body;
+ };
+
+ ["cpp:ice_print"]
+ exception SendEmailFailed {
+ string message;
+ };
+
+ struct NewsContent {
+ Categories categories;
+ Packages packages;
+ Ebuilds ebuilds;
+ };
+
+ interface Notifications {
+ Email getSignup(NewUser user);
+ Email getNews(User user, NewsContent nc);
+ };
+
+ interface MailServer {
+ idempotent void sendEmail(Email msg) throws SendEmailFailed;
+ };
+};
+
+#endif
+