/// <summary> /// Registers the appropiate changers by itself according to the specified /// configuration. /// </summary> /// <param name="config">Configuration which will be used to choose the appropiate changers /// and to retrieve the specific information that each of them may require. Note that the presence /// of every "enable" is required, though they may be set to false. Generally the collection will /// simply be the app.config collection. Note also that the presence of additional unrelated /// NameValues is allowed. </param> public void registerPasswordChangers(NameValueCollection config) { bool en_rdp = Convert.ToBoolean(RetrieveValue(config, "enable_rdp")); bool en_vnc = Convert.ToBoolean(RetrieveValue(config, "enable_ultravnc")); if (en_rdp) { Trace.WriteLine("Building RDP password changer"); string acc_name = RetrieveValue(config, "rdp_acc_name"); var rdp_changer = new WindowsPasswordChanger(acc_name); PasswordChangerManager.Instance.registerPasswordChanger("rdp", rdp_changer); } if (en_vnc) { Trace.WriteLine("Building VNC password changer"); string vnc_path = RetrieveValue(config, "ultravnc_path"); var vnc_changer = new UltraVNCPasswordChanger(vnc_path); PasswordChangerManager.Instance.registerPasswordChanger("ultravnc", vnc_changer); } }