public AppOptionInstanceViewModel(AppLaunchReactiveAction action, AppOptionInstance instance) { Action = action; OptionInstance = instance; OptionName = OptionInstance.OptionDeclaration.Name; OptionValues = OptionInstance.FromAppOptionInstance() .ToList(); }
/// <summary> /// use ApplicationPolicy.CreateExecuteSandbox() /// </summary> /// <param name="policy"></param> /// <param name="param"></param> /// <param name="context"></param> internal ApplicationExecuteSandbox(ApplicationPolicy policy, AppOptionInstance[] options) { AppPolicy = policy; Options = options; }
public void UpdateOptionValueSet(AppOptionInstance optionValueSet) { _CurrentOptionValueSet = optionValueSet; }
public ApplicationExecuteSandbox CreateExecuteSandbox(IAppPolicyManager manager, AppOptionInstance[] options) { if (manager.Security.IsAuthorized(this.ApplicationPath)) { return new ApplicationExecuteSandbox(this, options); } else { return null; } }
public void RemoveAppOptionInstance(AppOptionInstance instance) { if (_Options.Remove(instance)) { ValidatePropertyChanged(); } }
/// <summary> /// AdditionalOptionsにオプションインスタンスを追加します。 /// 出力オプションのインスタンスを追加する時に、AdditionalOptionsに一つしか存在しないよう既存の出力オプションが除外されます。 /// </summary> /// <see cref="ApplicationPolicy.OutputOptionDeclarations"/> /// <param name="instance"></param> public void AddAppOptionInstance(AppOptionInstance instance) { if (AppPolicy.OutputOptionDeclarations.Contains(instance.OptionDeclaration)) { var alreadyOutputOption = Options.SingleOrDefault(x => AppPolicy.OutputOptionDeclarations.Any(y => x.OptionDeclaration == y)); if (alreadyOutputOption != null) { if (instance.OptionDeclaration == alreadyOutputOption.OptionDeclaration) { return; } _Options.Remove(alreadyOutputOption); } } _Options.Add(instance); ValidatePropertyChanged(); }