|
|
#include "headers.hxx"
#include "AnalisysPage.hpp"
#include "resource.h"
#include "common.hpp"
#include "AnalisysResults.hpp"
#include "CSVDSReader.hpp"
#include "Analisys.hpp"
#include "global.hpp"
#include "constants.hpp"
AnalisysPage::AnalisysPage ( const CSVDSReader& csvReader409_, const CSVDSReader& csvReaderIntl_, const String& ldapPrefix_, const String& rootContainerDn_, AnalisysResults& res, const String& reportName_ ) : csvReader409(csvReader409_), csvReaderIntl(csvReaderIntl_), ldapPrefix(ldapPrefix_), rootContainerDn(rootContainerDn_), results(res), reportName(reportName_), WizardPage ( IDD_ANALISYS, IDS_ANALISYS_PAGE_TITLE, IDS_ANALISYS_PAGE_SUBTITLE, true ) { LOG_CTOR(AnalisysPage); }
AnalisysPage::~AnalisysPage() { LOG_DTOR(AnalisysPage); }
long WINAPI startAnalisys(long arg) { LOG_FUNCTION(startAnalisys); AnalisysPage *page=(AnalisysPage *)arg; Analisys analisys( page->csvReader409, page->csvReaderIntl, page->ldapPrefix, page->rootContainerDn, page->results, &page->reportName, page );
// CoInitialize must be called per thread
HRESULT hr = ::CoInitialize(0); ASSERT(SUCCEEDED(hr));
hrError=analisys.run();
CoUninitialize();
page->FinishProgress(); return 0; }
// WizardPage overrides
bool AnalisysPage::OnSetActive() { LOG_FUNCTION(AnalisysPage::OnSetActive); Win::PropSheet_SetWizButtons(Win::GetParent(hwnd), 0);
pos=0;
HANDLE hA=CreateThread( NULL,0, (LPTHREAD_START_ROUTINE) startAnalisys, this, 0, 0 ); CloseHandle(hA); return true; }
void AnalisysPage::OnInit() { LOG_FUNCTION(AnalisysPage::OnInit); HWND prog=GetDlgItem(hwnd,IDC_PROGRESS_ANALISYS);
// calculate the # of locales
for(long t=0;LOCALEIDS[t]!=0;t++) { //empty
} SendMessage(prog,PBM_SETRANGE,0,MAKELPARAM(0,t)); };
bool AnalisysPage::OnWizBack() { LOG_FUNCTION(AnalisysPage::OnWizBack); GetWizard().SetNextPageID(hwnd,IDD_WELCOME); return true; }
bool AnalisysPage::OnWizNext() { LOG_FUNCTION(AnalisysPage::OnWizNext); if (FAILED(hrError)) { GetWizard().SetNextPageID(hwnd,IDD_FINISH); } else { GetWizard().SetNextPageID(hwnd,IDD_UPDATES_REQUIRED); } return true; }
void AnalisysPage::StepProgress() { LOG_FUNCTION(AnalisysPage::StepProgress); HWND prog=GetDlgItem(hwnd,IDC_PROGRESS_ANALISYS); SendMessage(prog,PBM_SETPOS,pos++,0); }
void AnalisysPage::FinishProgress() { LOG_FUNCTION(AnalisysPage::FinishProgress); Win::PropSheet_SetWizButtons(Win::GetParent(hwnd),PSWIZB_NEXT);
String result; if (FAILED(hrError)) { result=String::format(IDS_IDC_ANALISYS_RESULT_INCOMPLETE); error=String::format(IDS_ANALISYS_ERROR,error.c_str()); } else { result=String::format(IDS_IDC_ANALISYS_RESULT_COMPLETE); } Win::SetDlgItemText(hwnd,IDC_ANALISYS_RESULT,result);
HWND text=GetDlgItem(hwnd,IDC_ANALISYS_RESULT); Win::ShowWindow(text,SW_SHOW); }
|