summaryrefslogtreecommitdiff
path: root/protocols/Steam/src/steam_dialogs.h
blob: 190c2504c56cf18dc2d0d070580c2c09fb69ae3a (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
#ifndef _STEAM_DIALOGS_H_
#define _STEAM_DIALOGS_H_

typedef CProtoDlgBase<CSteamProto> CSteamDlgBase;

#define DIALOG_RESULT_OK 1

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

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

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

public:
	CSteamPasswordEditor(CSteamProto *proto);
};

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

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

	CCtrlEdit m_text;
	CCtrlHyperlink m_link;

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

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

	const char *GetGuardCode() {
		return m_guardCode;
	}
};

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

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

	CCtrlEdit m_text;

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

public:
	CSteamTwoFactorDialog(CSteamProto *proto);

	const char *GetTwoFactorCode() {
		return m_twoFactorCode;
	}
};

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

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

	uint8_t *m_captchaImage;
	size_t 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, size_t captchaImageSize);
	~CSteamCaptchaDialog();

	const char* GetCaptchaText() {
		return m_captchaText;
	}
};

#endif //_STEAM_DIALOGS_H_