public static AppPolicyManager Load(DirectoryInfo saveFolderInfo, AppPolicySecurity security) { if (false == saveFolderInfo.Exists) { saveFolderInfo.Create(); } var factory = new AppPolicyManager(saveFolderInfo, security); foreach (var fileInfo in saveFolderInfo.EnumerateFiles($"*{APP_POLICY_EXTENTION}")) { try { var policy = FileSerializeHelper.LoadAsync<ApplicationPolicy>(fileInfo); factory._Policies.Add(policy); } catch(Exception e) { System.Diagnostics.Debug.WriteLine("faield app policy loading. filepath : " + fileInfo.FullName); System.Diagnostics.Debug.WriteLine(e.Message); } } return factory; }
public AppPolicyManager(DirectoryInfo saveFolderInfo, AppPolicySecurity security) { SaveFolderInfo = saveFolderInfo; _Policies = new ObservableCollection<ApplicationPolicy>(); Policies = new ReadOnlyObservableCollection<ApplicationPolicy>(_Policies); Security = security; }
/// <summary> /// 外部アプリの使用ポリシーのファイルを読み込んでAppPolicyFactoryを初期化する /// </summary> static AppPolicyManager InitializeAppLaunchAction(string policySaveFolderPath) { var security = new AppPolicy.AppPolicySecurity(AppPolicySecuritySavePath); var policySaveFolderInfo = new DirectoryInfo(policySaveFolderPath); AppPolicyManager appPolicyManager = null; if (policySaveFolderInfo.Exists) { appPolicyManager = AppPolicyManager.Load(policySaveFolderInfo, security); } AppLaunchReactiveAction.SetAppPolicyManager(appPolicyManager); return appPolicyManager; }