forked from jaredtao/DesignPattern
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPageMaker.h
34 lines (32 loc) · 923 Bytes
/
PageMaker.h
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
33
34
#pragma once
#include "Database.h"
#include "HtmlWriter.h"
#include <iostream>
class PageMaker
{
public:
~PageMaker() = default;
PageMaker(const PageMaker &) = delete;
PageMaker(PageMaker &&) = delete;
PageMaker &operator=(const PageMaker &) = delete;
PageMaker &operator=(PageMaker &&) = delete;
static PageMaker &GetInstance()
{
static PageMaker pm;
return pm;
}
void makeWelcomePage(const std::string &mailAddr)
{
auto name = DataBase::GetInstance().getNameByEmail(mailAddr);
HtmlWriter writer;
writer.title("Welcome to " + name + "'s page!");
writer.paragraph(name + u8"欢迎来到" + name + u8"的主页.");
writer.paragraph(u8"等着你的邮件哦!");
writer.mailto(mailAddr, name);
writer.close();
std::cout << writer.toString() << std::endl;
}
protected:
PageMaker() {}
private:
};