Example #1
0
bool CUCConf::Write()
{
CUCInfo *ucinfo;
CStdioFile unicasconf;
CString	element;
CFileException	e;
int		count;

	if (m_List.IsEmpty()) return false;

	if (!_access(m_unicasconf_old, 0)) {
		_unlink(m_unicasconf_old);
	}
	unicasconf.Rename(m_unicasconf, m_unicasconf_old);

	if (!unicasconf.Open(m_unicasconf, CFile::modeCreate | CFile::modeWrite, &e)) return false;

	element.Format("%%%% %-23s %s\n", MASTER_SHM_ID, m_master_shm_id);
	element.MakeUpper();
	unicasconf.WriteString(LPCSTR(element));
	element.Format("%%%% %-23s %s\n", ADMIN_LOG_FILE, m_admin_log_file);
	element.MakeUpper();
	unicasconf.WriteString(LPCSTR(element));
	unicasconf.WriteString("\n\n");

	count = (int) m_List.GetCount();
	for (int i = 0; i < count; i++) {
		ucinfo = (CUCInfo *)m_List.GetAt(m_List.FindIndex(i));
		ucinfo->Compose(unicasconf);
		unicasconf.WriteString("\n\n");
	}

	unicasconf.Close();

	return true;
}