/// <summary> /// Sets a value for the given key and value name /// </summary> /// <param name="value"></param> /// <param name="action">Action to perform when setting the value</param> public override bool SetValue(FirewallRule value, object action) { switch (value) { case FirewallRule.None: { FirewallHelper.EnableFirewallForExecutingApplication(programName, true); break; } case FirewallRule.Exist: { FirewallHelper.EnableFirewallForExecutingApplication(programName, false); break; } case FirewallRule.Enabled: { FirewallHelper.DisableFirewallForExecutingApplication(programName); break; } default: { throw new ArgumentException("Value is not a valid enum value.", "value"); } } return(true); }