void CCompImportDlg::OnClose() 
{
	// Release the reference to the Catalog object if needed
	ReleaseCatalog();
	
	CDialog::OnClose();
}
void CUtilitiesDlg::OnClose() 
{
	// Release the reference to the Catalog object if needed
	ReleaseCatalog();
	
	CDialog::OnClose();
}
void CAppInstallDlg::OnClose() 
{
	// Release the reference to the Catalog object if needed
	ReleaseCatalog();
	
	CDialog::OnClose();
}
void CCompImportDlg::set_Catalog(ICOMAdminCatalog *pCatalog)
{
	// Only can have one Catalog object reference... release all prior references before assignment
	ReleaseCatalog();

	// Assign the new Catalog reference
	m_pCatalog = pCatalog;
}
void CUtilitiesDlg::OnOK() 
{
	// Continue only if we have a valid Catalog pointer
	if (NULL != m_pCatalog)
	{
		// Perform actions depending upon specified utility type (i.e., router )
		switch (m_nUtilityType)
		{
		case UTILITY_TYPE_ROUTER:
			switch (m_nUtilityOption)
			{
			case UTILITY_OPTION_START:
				m_pCatalog->StartRouter();
				break;
			case UTILITY_OPTION_STOP:
				m_pCatalog->StopRouter();
				break;
			case UTILITY_OPTION_REFRESH:
				m_pCatalog->RefreshRouter();
				break;
			default:
				MessageBox("Invalid utility option.\n\nNo processing will be performed.\n\nPress OK to continue.",
							"Error",
							(MB_OK | MB_ICONERROR));
				break;
			}
			break;
		case UTILITY_TYPE_JNEC:
			break;

		default:
			MessageBox("Invalid utility type.\n\nNo processing will be performed.\n\nPress OK to continue.",
						"Error",
						(MB_OK | MB_ICONERROR));
		}
	}
	else
		MessageBox("Invalid Catalog reference.\n\nNo processing will be performed.\n\nPress OK to continue.",
					"Error",
					(MB_OK | MB_ICONERROR));

	// Release the reference to the Catalog object
	ReleaseCatalog();

	CDialog::OnOK();
}