#pragma once #include "VarSetBase.h" //--------------------------------------------------------------------------- // VarSet Servers Class //--------------------------------------------------------------------------- class CVarSetServers : public CVarSet { public: CVarSetServers(const CVarSet& rVarSet) : CVarSet(rVarSet), m_lIndex(0) { } long GetCount() { return m_lIndex; } void AddServer(_bstr_t strServer, _bstr_t strServerDns, bool bMigrateOnly, bool bMoveToTarget, bool bReboot, long lRebootDelay) { _TCHAR szValueBase[64]; _TCHAR szValueName[128]; _stprintf(szValueBase, _T("Servers.%ld"), m_lIndex); // ADsPath // ADMT expects computer name to be prefixed with '\\' Put(szValueBase, _T("\\\\") + strServer); // DNS name if (strServerDns.length()) { _tcscpy(szValueName, szValueBase); _tcscat(szValueName, _T(".DnsName")); Put(szValueName, _T("\\\\") + strServerDns); } // migrate only _tcscpy(szValueName, szValueBase); _tcscat(szValueName, _T(".MigrateOnly")); Put(szValueName, bMigrateOnly); // move to target _tcscpy(szValueName, szValueBase); _tcscat(szValueName, _T(".MoveToTarget")); Put(szValueName, bMoveToTarget); // reboot _tcscpy(szValueName, szValueBase); _tcscat(szValueName, _T(".Reboot")); Put(szValueName, bReboot); // reboot delay _tcscpy(szValueName, szValueBase); _tcscat(szValueName, _T(".RebootDelay")); Put(szValueName, lRebootDelay * 60L); // Put(DCTVS_Servers_NumItems, ++m_lIndex); } protected: long m_lIndex; };