1 #ifndef CscNotifications_h_
2 #define CscNotifications_h_
22 static ptr<NotificationInstruction> byPhoneCall(
const string &message,
const vector<string> &recipientNumbers,
const map<string, string> &additionalInfos = {});
23 static ptr<NotificationInstruction> onBackend(
const string &protocol,
const string &host,
const string &path =
"", optional<int> port = {});
25 static ptr<NotificationInstruction> byEmail(
const string &title,
const string &body,
const vector<string> &recipientEmails,
const map<string, string> &additionalParameters = {});
27 static vector<ptr<NotificationInstruction>>
fromMap(
const map<string, string> ¶meters);
29 operator string()
const;
31 NotificationType getType()
const;
32 const map<string, string> &getParameters()
const;
33 string getParameter(
const string &key)
const;
35 NotificationInstruction(NotificationType
type,
const map<string, string> ¶meters);
37 NotificationType
type;
38 map<string, string> parameters;
47 operator string()
const;
49 const vector<ptr<NotificationInstruction>> &getInstructions()
const;
51 vector<ptr<NotificationInstruction>> instructions;
55 inline static const string PHONE_NUMBERS =
"vocalNums";
56 inline static const char *
const PHONE_NUMBERS_SEPARATOR =
"&";
57 inline static const string PHONE_MESSAGE =
"vocalMessage";
59 inline static const string BACKEND_PROTOCOL =
"backendProtocol";
60 inline static const string BACKEND_HOST =
"backendHost";
61 inline static const string BACKEND_PATH =
"backendPath";
62 inline static const string BACKEND_PORT =
"backendPort";
64 inline static const string NATIVE_TYPE =
"nativeType";
65 inline static const string NATIVE_TITLE =
"nativeTitle";
66 inline static const string NATIVE_MESSAGE =
"nativeMessage";
68 inline static const string EMAIL_TITLE =
"emailTitle";
69 inline static const string EMAIL_BODY =
"emailBody";
70 inline static const string EMAIL_RECIPIENTS =
"emailRecipients";
80 typedef function<
void(
const string& message,
const vector<string>& phoneNumbers,
const map<string, string>& additionalInfos)>
VocalPhoneNumberNotifier;
83 void setEnabled(
bool enabled);
91 VocalPhoneNumberNotifier vocalPhoneNumberNotifier = [](
const string& message,
const vector<string>& phoneNumbers,
const map<string, string>& additionalInfos) {
92 LOG_WARN(
"no vocal phone notifier on this engine");
95 std::unique_ptr<CscLogger>
logger;