summaryrefslogtreecommitdiff
path: root/protocols/Steam/src/steam_dialogs.h
blob: 8086114c4221e93d63645a978b9aa89d8d553a0f (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#ifndef _STEAM_DIALOGS_H_
#define _STEAM_DIALOGS_H_

typedef CProtoDlgBase<CSteamProto> CSteamDlgBase;

#define DIALOG_RESULT_OK 1

/////////////////////////////////////////////////////////////////////////////////

class CSteamPasswordEditor : public CSteamDlgBase
{
private:
	CCtrlEdit m_password;
	CCtrlCheck m_savePermanently;

	CCtrlButton m_ok;

protected:
	bool OnInitDialog() override;
	bool OnClose() override;

	void OnOk(CCtrlButton*);

public:
	CSteamPasswordEditor(CSteamProto *proto);
};

/////////////////////////////////////////////////////////////////////////////////

class CSteamGuardDialog : public CSteamDlgBase
{
private:
	char m_domain[32];
	char m_guardCode[6];

	CCtrlEdit m_text;
	CCtrlButton m_ok;
	CCtrlHyperlink m_link;

protected:
	bool OnInitDialog() override;
	bool OnClose() override;

	void OnOk(CCtrlButton*);

public:
	CSteamGuardDialog(CSteamProto *proto, const char *domain);

	const char *GetGuardCode();
};

/////////////////////////////////////////////////////////////////////////////////

class CSteamTwoFactorDialog : public CSteamDlgBase
{
private:
	char m_twoFactorCode[6];

	CCtrlEdit m_text;
	CCtrlButton m_ok;

protected:
	bool OnInitDialog() override;
	bool OnClose() override;

	void OnOk(CCtrlButton*);

public:
	CSteamTwoFactorDialog(CSteamProto *proto);

	const char *GetTwoFactorCode();
};

/////////////////////////////////////////////////////////////////////////////////

class CSteamCaptchaDialog : public CSteamDlgBase
{
private:
	char m_captchaText[7];

	uint8_t *m_captchaImage;
	int m_captchaImageSize;

	CCtrlEdit m_text;
	CCtrlButton m_ok;

protected:
	bool OnInitDialog() override;
	bool OnClose() override;
	INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) override;

	void OnOk(CCtrlButton*);

public:
	CSteamCaptchaDialog(CSteamProto *proto, const uint8_t *captchaImage, int captchaImageSize);
	~CSteamCaptchaDialog();

	const char *GetCaptchaText();
};

#endif //_STEAM_DIALOGS_H_