// SettingsDlg.cpp : implementation file // #include "stdafx.h" #include "PocketPJ.h" #include "SettingsDlg.h" #include #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #define REG_PATH _T("pjsip.org\\PocketPC") #define REG_DOMAIN _T("Domain") #define REG_USER _T("User") #define REG_PASSWD _T("Data") #define REG_USE_STUN _T("UseSTUN") #define REG_STUN_SRV _T("STUNSrv") #define REG_DNS _T("DNS") #define REG_USE_ICE _T("UseICE") #define REG_USE_SRTP _T("UseSRTP") #define REG_USE_PUBLISH _T("UsePUBLISH") #define REG_BUDDY_CNT _T("BuddyCnt") #define REG_BUDDY_X _T("Buddy%u") #define REG_ENABLE_EC _T("EnableEC") #define REG_EC_TAIL _T("ECTail") ///////////////////////////////////////////////////////////////////////////// // Settings // Load from registry void CPocketPJSettings::LoadRegistry() { CRegKey key; wchar_t textVal[256]; DWORD dwordVal; DWORD cbData; if (key.Open(HKEY_CURRENT_USER, REG_PATH) != ERROR_SUCCESS) return; cbData = sizeof(textVal); if (key.QueryValue(textVal, REG_DOMAIN, &cbData) == ERROR_SUCCESS) { m_Domain = textVal; } cbData = sizeof(textVal); if (key.QueryValue(textVal, REG_USER, &cbData) == ERROR_SUCCESS) { m_User = textVal; } cbData = sizeof(textVal); if (key.QueryValue(textVal, REG_PASSWD, &cbData) == ERROR_SUCCESS) { m_Password = textVal; } cbData = sizeof(textVal); if (key.QueryValue(textVal, REG_STUN_SRV, &cbData) == ERROR_SUCCESS) { m_StunSrv = textVal; } cbData = sizeof(textVal); if (key.QueryValue(textVal, REG_DNS, &cbData) == ERROR_SUCCESS) { m_DNS = textVal; } dwordVal = 0; if (key.QueryValue(dwordVal, REG_USE_STUN) == ERROR_SUCCESS) { m_UseStun = dwordVal != 0; } else { m_UseStun = 0; } if (key.QueryValue(dwordVal, REG_USE_ICE) == ERROR_SUCCESS) { m_UseIce = dwordVal != 0; } else { m_UseIce = 0; } if (key.QueryValue(dwordVal, REG_USE_SRTP) == ERROR_SUCCESS) { m_UseSrtp = dwordVal != 0; } else { m_UseSrtp = 0; } cbData = sizeof(dwordVal); if (key.QueryValue(dwordVal, REG_USE_PUBLISH) == ERROR_SUCCESS) { m_UsePublish = dwordVal != 0; } cbData = sizeof(dwordVal); if (key.QueryValue(dwordVal, REG_ENABLE_EC) == ERROR_SUCCESS) { m_EchoSuppress = dwordVal != 0; } else { m_EchoSuppress = 0; } cbData = sizeof(dwordVal); if (key.QueryValue(dwordVal, REG_EC_TAIL) == ERROR_SUCCESS) { m_EcTail = dwordVal; } else { m_EcTail = 2; } m_BuddyList.RemoveAll(); DWORD buddyCount = 0; cbData = sizeof(dwordVal); if (key.QueryValue(dwordVal, REG_BUDDY_CNT) == ERROR_SUCCESS) { buddyCount = dwordVal; } unsigned i; for (i=0; i