Add support for ICE/STUN/TURN in res_rtp_asterisk and chan_sip.
[asterisk/asterisk.git] / res / pjproject / pjsip-apps / src / pocketpj / SettingsDlg.h
1 #if !defined(AFX_SETTINGSDLG_H__46F18E6E_F411_4D9E_BEE9_619D80BC81DC__INCLUDED_)
2 #define AFX_SETTINGSDLG_H__46F18E6E_F411_4D9E_BEE9_619D80BC81DC__INCLUDED_
3
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
7 // SettingsDlg.h : header file
8 //
9 #include <Afxtempl.h>
10
11 /////////////////////////////////////////////////////////////////////////////
12 // Settings
13 struct CPocketPJSettings
14 {
15     CString     m_Domain;
16     CString     m_User;
17     CString     m_Password;
18     bool        m_UseStun;
19     CString     m_StunSrv;
20     bool        m_UseIce;
21     bool        m_UseSrtp;
22     bool        m_UsePublish;
23     CString     m_DNS;
24     bool        m_EchoSuppress;
25     DWORD       m_EcTail;
26     bool        m_TCP;
27     bool        m_VAD;
28     bool        m_AutoAnswer;
29
30     CArray<CString,CString> m_Codecs;
31     CArray<CString,CString> m_BuddyList;
32     
33     CPocketPJSettings();
34
35     // Load from registry
36     void    LoadRegistry();
37     
38     // Save to registry
39     void    SaveRegistry();
40 };
41
42
43 /////////////////////////////////////////////////////////////////////////////
44 // CSettingsDlg dialog
45
46 class CSettingsDlg : public CDialog
47 {
48 // Construction
49 public:
50         CSettingsDlg(CPocketPJSettings & cfg, CWnd* pParent = NULL);
51
52 // Dialog Data
53         //{{AFX_DATA(CSettingsDlg)
54         enum { IDD = IDD_SETTING };
55         CComboBox       m_Codecs;
56         CString m_Domain;
57         BOOL    m_ICE;
58         CString m_Passwd;
59         BOOL    m_PUBLISH;
60         BOOL    m_SRTP;
61         BOOL    m_STUN;
62         CString m_StunSrv;
63         CString m_User;
64         CString m_Dns;
65         BOOL    m_EchoSuppress;
66         CString m_EcTail;
67         BOOL    m_TCP;
68         BOOL    m_VAD;
69         BOOL    m_AutoAnswer;
70         //}}AFX_DATA
71
72
73 // Overrides
74         // ClassWizard generated virtual function overrides
75         //{{AFX_VIRTUAL(CSettingsDlg)
76         public:
77         virtual int DoModal();
78         protected:
79         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
80         //}}AFX_VIRTUAL
81
82 // Implementation
83 protected:
84         CPocketPJSettings & m_Cfg;
85
86         // Generated message map functions
87         //{{AFX_MSG(CSettingsDlg)
88         afx_msg void OnStun();
89         afx_msg void OnEchoSuppress();
90         afx_msg void OnSelchangeCodecs();
91         virtual void OnOK();
92         //}}AFX_MSG
93         DECLARE_MESSAGE_MAP()
94 };
95
96 //{{AFX_INSERT_LOCATION}}
97 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
98
99 #endif // !defined(AFX_SETTINGSDLG_H__46F18E6E_F411_4D9E_BEE9_619D80BC81DC__INCLUDED_)