Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// ChooseCAPage.cpp : implementation file
//
#include "stdafx.h"
#include "CertWiz.h"
#include "ChooseOnlinePage.h"
#include "Certificat.h"
#include "CertUtil.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CChooseOnlinePage property page
IMPLEMENT_DYNCREATE(CChooseOnlinePage, CIISWizardPage)
CChooseOnlinePage::CChooseOnlinePage(CCertificate * pCert) : CIISWizardPage(CChooseOnlinePage::IDD, IDS_CERTWIZ, TRUE), m_pCert(pCert) { //{{AFX_DATA_INIT(CChooseOnlinePage)
m_CAIndex = -1; //}}AFX_DATA_INIT
}
CChooseOnlinePage::~CChooseOnlinePage() { }
void CChooseOnlinePage::DoDataExchange(CDataExchange* pDX) { CIISWizardPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CChooseOnlinePage)
DDX_CBIndex(pDX, IDC_CA_ONLINE_LIST, m_CAIndex); //}}AFX_DATA_MAP
}
LRESULT CChooseOnlinePage::OnWizardBack() /*++
Routine Description: Prev button handler
Arguments: None
Return Value: 0 to automatically advance to the prev page; 1 to prevent the page from changing. To jump to a page other than the prev one, return the identifier of the dialog to be displayed. --*/ { LRESULT id = 1;
switch (m_pCert->GetStatusCode()) { case CCertificate::REQUEST_RENEW_CERT: id = IDD_PAGE_PREV_RENEW; break; case CCertificate::REQUEST_NEW_CERT: id = IDD_PAGE_PREV_NEW; #ifdef ENABLE_W3SVC_SSL_PAGE
if (IsWebServerType(m_pCert->m_WebSiteInstanceName)) { id = IDD_PAGE_PREV_INSTALL_W3SVC_ONLY; } #endif
break; default: id = 1; }
return id; }
LRESULT CChooseOnlinePage::OnWizardNext() /*++
Routine Description: Next button handler
Arguments: None
Return Value: 0 to automatically advance to the next page; 1 to prevent the page from changing. To jump to a page other than the next one, return the identifier of the dialog to be displayed. --*/ { UpdateData(); CComboBox * pCombo = (CComboBox *)CWnd::FromHandle( GetDlgItem(IDC_CA_ONLINE_LIST)->m_hWnd); pCombo->GetLBText(m_CAIndex, m_pCert->m_ConfigCA); return IDD_PAGE_NEXT; }
BEGIN_MESSAGE_MAP(CChooseOnlinePage, CIISWizardPage) //{{AFX_MSG_MAP(CChooseCAPage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CChooseCAPage message handlers
BOOL CChooseOnlinePage::OnInitDialog() { m_CAIndex = 0; // We need to create controls first
CIISWizardPage::OnInitDialog(); ASSERT(m_pCert != NULL); GetDlgItem(IDC_CA_ONLINE_LIST)->SetFocus(); CComboBox * pCombo = (CComboBox *)CWnd::FromHandle( GetDlgItem(IDC_CA_ONLINE_LIST)->m_hWnd); CString str; POSITION pos = m_pCert->m_OnlineCAList.GetHeadPosition(); while (pos != NULL) { str = m_pCert->m_OnlineCAList.GetNext(pos); pCombo->AddString(str); } int idx; if ( !m_pCert->m_ConfigCA.IsEmpty() && CB_ERR != (idx = pCombo->FindString(-1, m_pCert->m_ConfigCA)) ) { pCombo->SetCurSel(idx); } else pCombo->SetCurSel(0); return FALSE; }
|