Esempio n. 1
0
        private bool BelongsToApplication(IProcess process, BlacklistApplication application)
        {
            var sameName         = process.Name.Equals(application.ExecutableName, StringComparison.OrdinalIgnoreCase);
            var sameOriginalName = process.OriginalName?.Equals(application.OriginalName, StringComparison.OrdinalIgnoreCase) == true;

            return(sameName || sameOriginalName);
        }
        private void MapApplicationBlacklist(AppSettings settings, object value)
        {
            if (value is IList <object> applications)
            {
                foreach (var item in applications)
                {
                    if (item is IDictionary <string, object> applicationData)
                    {
                        var isActive         = applicationData.TryGetValue(Keys.Applications.Active, out var v) && v is bool active && active;
                        var isWindowsProcess = applicationData.TryGetValue(Keys.Applications.OperatingSystem, out v) && v is int os && os == Keys.WINDOWS;

                        if (isActive && isWindowsProcess)
                        {
                            var application = new BlacklistApplication();

                            if (applicationData.TryGetValue(Keys.Applications.AutoTerminate, out v) && v is bool autoTerminate)
                            {
                                application.AutoTerminate = autoTerminate;
                            }

                            if (applicationData.TryGetValue(Keys.Applications.ExecutableName, out v) && v is string executableName)
                            {
                                application.ExecutableName = executableName;
                            }

                            if (applicationData.TryGetValue(Keys.Applications.OriginalName, out v) && v is string originalName)
                            {
                                application.OriginalName = originalName;
                            }

                            settings.Applications.Blacklist.Add(application);
                        }
                    }
                }
            }
        }