Exemple #1
0
        public void SetDefaultAudioDevice(AudioDevice device, AudioDeviceRole role = AudioDeviceRole.Multimedia)
        {
            if (device == null)
            {
                throw new ArgumentNullException(nameof(device));
            }

            var config = new PolicyConfig();

            int hr;

            if (config is IPolicyConfig2 config2)
            {   // Windows 7 -> Windows 8.1
                hr = config2.SetDefaultEndpoint(device.Id, role);
            }
            else
            {   // Windows 10+
                hr = ((IPolicyConfig3)config).SetDefaultEndpoint(device.Id, role);
            }

            if (hr != HResult.OK)
            {
                throw Marshal.GetExceptionForHR(hr);
            }
        }
        public void SetDefaultAudioDevice(AudioDevice device, AudioDeviceRole role)
        {
            if (device == null)
                throw new ArgumentNullException("device");

            // BADNESS: The following code uses undocumented interfaces provided by the Audio SDK. This is completely
            // unsupported, and should be used for amusement purposes only. This is *extremely likely* to be broken 
            // in future updates and/or versions of Windows. If Larry Osterman was dead, he would be rolling over 
            // in his grave if he knew you were using this for nefarious purposes.
            var config = new PolicyConfig();

            int hr;
            IPolicyConfig2 config2 = config as IPolicyConfig2;
            if (config2 != null)
            {   // Windows 7 -> Windows 8.1
                hr = config2.SetDefaultEndpoint(device.Id, role);
            }
            else
            {   // Windows 10+
                hr = ((IPolicyConfig3)config).SetDefaultEndpoint(device.Id, role);
            }

            if (hr != HResult.OK)
                throw Marshal.GetExceptionForHR(hr);
        }
Exemple #3
0
 void IPolicyConfigControl.ReadFromConfig(PolicyConfig config)
 {
     SkipMergesCheckBox.Checked    = config.SkipMerges;
     SkipBranchesCheckBox.Checked  = config.SkipBranches;
     SkipRollbacksCheckBox.Checked = config.SkipRollbacks;
     SkipUndeletesCheckBox.Checked = config.SkipUndeletes;
 }
Exemple #4
0
        protected override void ProcessInternal(INamedTypeSymbol symbol, PolicyConfig policyConfig, IViolationReporter violationReporter)
        {
            ClassConfig config = policyConfig.StructConfig;

            if (!AnyVisibilityMatches(symbol.DeclaredAccessibility, config.VisibilitiesToCheck))
            {
                return;
            }

            IDocumentationComment classDocumentation = symbol.GetDocumentationComment();

            if (config.SampleDocumentationRequired && string.IsNullOrWhiteSpace(classDocumentation.ExampleText))
            {
                violationReporter.Report(ViolationFromSymbol(ViolationMessage.MissingSampleDocumentation, symbol));
            }

            if (config.SummaryDocumentationRequired && string.IsNullOrWhiteSpace(classDocumentation.SummaryText))
            {
                violationReporter.Report(ViolationFromSymbol(ViolationMessage.MissingSummaryDocumentation, symbol));
            }

            if (!symbol.TypeParameters.IsEmpty && config.GenericParameterDocumentationRequired)
            {
                foreach (ITypeParameterSymbol typeParameter in symbol.TypeParameters)
                {
                    if (string.IsNullOrWhiteSpace(classDocumentation.GetTypeParameterText(typeParameter.Name)))
                    {
                        violationReporter.Report(ViolationFromSymbol(string.Format(ViolationMessage.MissingTypeParameter, typeParameter.Name), symbol));
                    }
                }
            }

            ProcessChildren(symbol, policyConfig, violationReporter);
        }
Exemple #5
0
 void IPolicyConfigControl.WriteToConfig(PolicyConfig config)
 {
     config.SkipMerges    = SkipMergesCheckBox.Checked;
     config.SkipBranches  = SkipBranchesCheckBox.Checked;
     config.SkipRollbacks = SkipRollbacksCheckBox.Checked;
     config.SkipUndeletes = SkipUndeletesCheckBox.Checked;
 }
        public void SetDefaultAudioDevice(SoundControllServer.AudioDevice device, AudioDeviceRole role)
        {
            if (device == null)
            {
                throw new ArgumentNullException("device");
            }

            // BADNESS: The following code uses undocumented interfaces provided by the Audio SDK. This is completely
            // unsupported, and should be used for amusement purposes only. This is *extremely likely* to be broken
            // in future updates and/or versions of Windows. If Larry Osterman was dead, he would be rolling over
            // in his grave if he knew you were using this for nefarious purposes.
            var config = new PolicyConfig();

            int            hr;
            IPolicyConfig2 config2 = config as IPolicyConfig2;

            if (config2 != null)
            {   // Windows 7 -> Windows 8.1
                hr = config2.SetDefaultEndpoint(device.Id, role);
            }
            else
            {   // Windows 10+
                hr = ((IPolicyConfig3)config).SetDefaultEndpoint(device.Id, role);
            }

            if (hr != HResult.OK)
            {
                throw Marshal.GetExceptionForHR(hr);
            }
        }
Exemple #7
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddIdentityWithMongoStoresUsingCustomTypes <Usuario, UsuarioRole>(Configuration.GetSection("MongoConnectionStrings:ConnectionStringFull").Value)
            .AddDefaultTokenProviders();

            services.AddAuthorization(opt => PolicyConfig.Configurar(opt));

            AuthenticationConfig.Configurar(services, Configuration);

            NativeInjection.RegisterDependencys(services);

            services.AddOptions();

            services.AddMvc(opt =>
            {
                var policy = new AuthorizationPolicyBuilder()
                             .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                             .RequireAuthenticatedUser()
                             .Build();

                opt.Filters.Add(new AuthorizeFilter(policy));
            });

            services.AddSwaggerGen(s =>
            {
                s.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info
                {
                    Title   = "Delivery API",
                    Version = "v1"
                });
            });
        }
Exemple #8
0
        protected override void Process(ISymbol symbol, PolicyConfig policyConfig, IViolationReporter violationReporter)
        {
            EventConfig config = policyConfig.EventConfig;

            if (symbol.IsOverride && !config.DocumentOverrides)
            {
                return;
            }

            if (symbol.ContainingType != null && symbol.ContainingType.TypeKind == TypeKind.Interface && !config.InterfaceDeclarationDocumentationRequired)
            {
                return;
            }

            if (!symbol.CanBeReferencedByName && !config.ExplicitInterfaceEventDocumentationRequired)
            {
                return;
            }

            if (!AnyVisibilityMatches(symbol.DeclaredAccessibility, config.VisibilitiesToCheck) && symbol.CanBeReferencedByName)
            {
                return;
            }

            IDocumentationComment documentation = symbol.GetDocumentationComment();

            if (config.SummaryDocumentationRequired && string.IsNullOrWhiteSpace(documentation.SummaryText))
            {
                violationReporter.Report(ViolationFromSymbol(ViolationMessage.MissingSummaryDocumentation, symbol));
            }
        }
Exemple #9
0
 protected void ProcessChildren(INamespaceOrTypeSymbol namespaceOrTypeSymbol, PolicyConfig policyConfig, IViolationReporter violationReporter)
 {
     foreach (ISymbol childSymbol in namespaceOrTypeSymbol.GetMembers())
     {
         new CodeCommentsFacade().GetSymbolProcessorFactory().CreateSymbolProcessor(childSymbol).Process(childSymbol, policyConfig, violationReporter);
     }
 }
Exemple #10
0
 public static void SetDefaultAudioDevice(MMDevice mMDevice)
 {
     try
     {
         var            config = new PolicyConfig();
         int            hr1;
         int            hr2;
         int            hr3;
         bool?          win10   = null;
         IPolicyConfig2 config2 = config as IPolicyConfig2;
         if (config2 != null)
         {
             win10 = false;
             hr1   = config2.SetDefaultEndpoint(mMDevice.ID, AudioDeviceRole.Multimedia);
             hr2   = config2.SetDefaultEndpoint(mMDevice.ID, AudioDeviceRole.Communications);
             hr3   = config2.SetDefaultEndpoint(mMDevice.ID, AudioDeviceRole.Console);
         }
         else
         {
             win10 = true;
             hr1   = ((IPolicyConfig3)config).SetDefaultEndpoint(mMDevice.ID, AudioDeviceRole.Multimedia);
             hr2   = ((IPolicyConfig3)config).SetDefaultEndpoint(mMDevice.ID, AudioDeviceRole.Communications);
             hr3   = ((IPolicyConfig3)config).SetDefaultEndpoint(mMDevice.ID, AudioDeviceRole.Console);
         }
         Toolbox.uAddDebugLog($"NAudio HResult Definitions: s_OK({HResult.S_OK}) | s_FALSE({HResult.S_FALSE}) | e_INVALIDARG({HResult.E_INVALIDARG})");
         Toolbox.uAddDebugLog($"SetAudioDefaultResults: win10({win10}) | hr1({hr1}) | hr2({hr2}) | hr3({hr3})");
     }
     catch (Exception ex)
     {
         Toolbox.LogException(ex);
     }
 }
Exemple #11
0
        public bool SetDefaultCommunicationsDevice(SystemAudioDevice dev)
        {
            if (dev == null)
            {
                return(false);
            }

            try
            {
                if (Environment.OSVersion.Version.Major > 6 ||
                    (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 1)
                    )
                {
                    PolicyConfig.SetDefaultEndpoint(dev.Device.ID, Role.Communications);
                }
                else
                {
                    PolicyConfigVista.SetDefaultEndpoint(dev.Device.ID, Role.Communications);
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemple #12
0
        private static List <PolicyConfig> PolicyConfigs(List <Type> types)
        {
            var policies = new List <PolicyConfig>();

            foreach (var type in types)
            {
                var policyObject = policies.FirstOrDefault(x => x.ControllerName.Equals(type.Name.ToLower()));

                if (policyObject == null)
                {
                    policyObject = new PolicyConfig()
                    {
                        ControllerName = type.Name.ToLower().Replace("controller", "")
                    };
                }

                var ControllerAttributes = type.GetMethods().Select(x => x.GetCustomAttributes <AuthorizeAttribute>()).ToList();

                foreach (var attr in ControllerAttributes)
                {
                    var ProlicyAttributes = attr.Where(x => !string.IsNullOrWhiteSpace(x.Policy)).ToList();

                    if (ProlicyAttributes.Count < 1)
                    {
                        continue;
                    }

                    #region Scope
                    var ProlicyAttributes_Scope = ProlicyAttributes
                                                  .Where(x => x.Policy.IndexOf($"{PolicyKey.ClientScope}:") > -1).ToList();

                    if (ProlicyAttributes_Scope.Count > 0)
                    {
                        ProlicyAttributes_Scope.ForEach(x =>
                        {
                            policyObject.Scopes.Add(x.Policy.Replace($"{PolicyKey.ClientScope}:", ""));
                        });
                    }
                    #endregion

                    #region Permission
                    var ProlicyAttributes_Permission = ProlicyAttributes
                                                       .Where(x => x.Policy.IndexOf($"{PolicyKey.UserPermission}:") > -1).ToList();

                    if (ProlicyAttributes_Permission.Count > 0)
                    {
                        ProlicyAttributes_Permission.ForEach(x =>
                        {
                            policyObject.Permissions.Add(x.Policy.Replace($"{PolicyKey.UserPermission}:", ""));
                        });
                    }
                    #endregion
                }

                policies.Add(policyObject);
            }

            return(policies);
        }
Exemple #13
0
        void IPolicyConfigControl.WriteToConfig(PolicyConfig config)
        {
            FieldConfig controlConfig = config.FieldConfig;

            controlConfig.VisibilitiesToCheck = Visibilities.GetVisibilites();

            controlConfig.SummaryDocumentationRequired = SummaryDocumentationTagCheckBox.Checked;
        }
Exemple #14
0
        void IPolicyConfigControl.ReadFromConfig(PolicyConfig config)
        {
            FieldConfig controlConfig = config.FieldConfig;

            Visibilities.Bind(controlConfig.VisibilitiesToCheck);

            SummaryDocumentationTagCheckBox.Checked = controlConfig.SummaryDocumentationRequired;
        }
Exemple #15
0
        public void SingleClassWithFilledSummary()
        {
            string       fileContent = Util.GetFileContent("Single class with filled summary.txt");
            PolicyConfig config      = new PolicyConfig().LoadDefaults();

            ViolationStore violationStore = new CodeCommentsFacade().CheckCodeDocumentation(fileContent, config);

            Assert.IsFalse(violationStore.HasViolations);
        }
Exemple #16
0
        void IPolicyConfigControl.WriteToConfig(PolicyConfig config)
        {
            ClassConfig controlConfig = GetConfig(config);

            controlConfig.VisibilitiesToCheck = Visibilities.GetVisibilites();
            controlConfig.GenericParameterDocumentationRequired = GenericParametersOptionCheckBox.Checked;
            controlConfig.SampleDocumentationRequired           = SampleDocumentationTagCheckBox.Checked;
            controlConfig.SummaryDocumentationRequired          = SummaryDocumentationTagCheckBox.Checked;
        }
Exemple #17
0
        void IPolicyConfigControl.ReadFromConfig(PolicyConfig config)
        {
            ClassConfig controlConfig = GetConfig(config);

            Visibilities.Bind(controlConfig.VisibilitiesToCheck);
            GenericParametersOptionCheckBox.Checked = controlConfig.GenericParameterDocumentationRequired;
            SampleDocumentationTagCheckBox.Checked  = controlConfig.SampleDocumentationRequired;
            SummaryDocumentationTagCheckBox.Checked = controlConfig.SummaryDocumentationRequired;
        }
Exemple #18
0
        protected override void Process(ISymbol symbol, PolicyConfig policyConfig, IViolationReporter violationReporter)
        {
            if (symbol.Kind != SymbolKind.Namespace)
            {
                throw new ArgumentException(string.Format("symbol is not of kind: Namespace. It's of type: {0}", symbol.Kind));
            }

            ProcessChildren((INamespaceSymbol)symbol, policyConfig, violationReporter);
        }
Exemple #19
0
        public ViolationStore CheckFileDocumentation(string filePath, PolicyConfig policyConfig)
        {
            if (!File.Exists(filePath))
            {
                throw new FileNotFoundException($"Could not find file '{filePath}'");
            }

            SyntaxTree tree = CSharpSyntaxTree.ParseText(File.ReadAllText(filePath), path: filePath);

            return(CheckFileDocumentation(tree, policyConfig));
        }
Exemple #20
0
        public ViolationStore CheckCodeDocumentation(string csharpCode, PolicyConfig policyConfig)
        {
            if (csharpCode == null)
            {
                throw new ArgumentNullException(nameof(csharpCode));
            }

            SyntaxTree tree = CSharpSyntaxTree.ParseText(csharpCode);

            return(CheckFileDocumentation(tree, policyConfig));
        }
Exemple #21
0
        private PolicyConfig GetDeactivatedConfig()
        {
            PolicyConfig config = new PolicyConfig();

            config.ToggleRuleActivation(false);
            config.ClassConfig.VisibilitiesToCheck = new HashSet <Visibility> {
                Visibility.Public
            };

            return(config);
        }
Exemple #22
0
        void IPolicyConfigControl.WriteToConfig(PolicyConfig config)
        {
            EventConfig controlConfig = config.EventConfig;

            controlConfig.VisibilitiesToCheck = Visibilities.GetVisibilites();

            controlConfig.DocumentOverrides = OverridesOptionCheckBox.Checked;
            controlConfig.ExplicitInterfaceEventDocumentationRequired = ExplicitOptionCheckBox.Checked;
            controlConfig.InterfaceDeclarationDocumentationRequired   = InterfaceOptionCheckBox.Checked;
            controlConfig.SummaryDocumentationRequired = SummaryDocumentationTagCheckBox.Checked;
        }
Exemple #23
0
        void IPolicyConfigControl.ReadFromConfig(PolicyConfig config)
        {
            EventConfig controlConfig = config.EventConfig;

            Visibilities.Bind(controlConfig.VisibilitiesToCheck);

            OverridesOptionCheckBox.Checked         = controlConfig.DocumentOverrides;
            ExplicitOptionCheckBox.Checked          = controlConfig.ExplicitInterfaceEventDocumentationRequired;
            InterfaceOptionCheckBox.Checked         = controlConfig.InterfaceDeclarationDocumentationRequired;
            SummaryDocumentationTagCheckBox.Checked = controlConfig.SummaryDocumentationRequired;
        }
Exemple #24
0
        void IPolicyConfigControl.ReadFromConfig(PolicyConfig config)
        {
            DelegateConfig controlConfig = config.DelegateConfig;

            Visibilities.Bind(controlConfig.VisibilitiesToCheck);

            GenericParametersOptionCheckBox.Checked = controlConfig.GenericParameterDocumentationRequired;
            ParametersOptionCheckBox.Checked        = controlConfig.ParameterDocumentationRequired;
            ReturnsDocumentationTagCheckBox.Checked = controlConfig.ResultDocumentationRequired;
            SampleDocumentationTagCheckBox.Checked  = controlConfig.SampleDocumentationRequired;
            SummaryDocumentationTagCheckBox.Checked = controlConfig.SummaryDocumentationRequired;
        }
Exemple #25
0
        protected override void ProcessInternal(INamedTypeSymbol symbol, PolicyConfig policyConfig, IViolationReporter violationReporter)
        {
            DelegateConfig config = policyConfig.DelegateConfig;

            if (!AnyVisibilityMatches(symbol.DeclaredAccessibility, config.VisibilitiesToCheck))
            {
                return;
            }

            if (symbol.DelegateInvokeMethod == null)
            {
                return;
            }

            IDocumentationComment documentation = symbol.GetDocumentationComment();

            if (config.SampleDocumentationRequired && string.IsNullOrWhiteSpace(documentation.ExampleText))
            {
                violationReporter.Report(ViolationFromSymbol(ViolationMessage.MissingSampleDocumentation, symbol));
            }

            if (config.SummaryDocumentationRequired && string.IsNullOrWhiteSpace(documentation.SummaryText))
            {
                violationReporter.Report(ViolationFromSymbol(ViolationMessage.MissingSummaryDocumentation, symbol));
            }

            if (config.ResultDocumentationRequired && !symbol.DelegateInvokeMethod.ReturnsVoid && string.IsNullOrWhiteSpace(documentation.ReturnsText))
            {
                violationReporter.Report(ViolationFromSymbol(ViolationMessage.MissingReturnsDocumentation, symbol));
            }

            if (config.ParameterDocumentationRequired && !symbol.DelegateInvokeMethod.Parameters.IsEmpty)
            {
                foreach (IParameterSymbol parameterSymbol in symbol.DelegateInvokeMethod.Parameters)
                {
                    if (string.IsNullOrWhiteSpace(documentation.GetParameterText(parameterSymbol.Name)))
                    {
                        violationReporter.Report(ViolationFromSymbol(string.Format(ViolationMessage.MissingParameter, parameterSymbol.Name), symbol));
                    }
                }
            }

            if (config.GenericParameterDocumentationRequired && !symbol.TypeParameters.IsEmpty)
            {
                foreach (ITypeParameterSymbol typeParameter in symbol.TypeParameters)
                {
                    if (string.IsNullOrWhiteSpace(documentation.GetTypeParameterText(typeParameter.Name)))
                    {
                        violationReporter.Report(ViolationFromSymbol(string.Format(ViolationMessage.MissingTypeParameter, typeParameter.Name), symbol));
                    }
                }
            }
        }
Exemple #26
0
        public Task Execute(IJobExecutionContext context)
        {
            var          logger       = new TextFileLogger();
            var          policyConfig = new PolicyConfig();
            ITaskHandler taskHandler  = new PolicyTaskHandler(logger, policyConfig);

            taskHandler.Process();

            //logger.Log(LogLevel.Debug, "测试");

            return(Task.CompletedTask);
        }
Exemple #27
0
        void IPolicyConfigControl.WriteToConfig(PolicyConfig config)
        {
            DelegateConfig controlConfig = config.DelegateConfig;

            controlConfig.VisibilitiesToCheck = Visibilities.GetVisibilites();

            controlConfig.GenericParameterDocumentationRequired = GenericParametersOptionCheckBox.Checked;
            controlConfig.ParameterDocumentationRequired        = ParametersOptionCheckBox.Checked;
            controlConfig.ResultDocumentationRequired           = ReturnsDocumentationTagCheckBox.Checked;
            controlConfig.SampleDocumentationRequired           = SampleDocumentationTagCheckBox.Checked;
            controlConfig.SummaryDocumentationRequired          = SummaryDocumentationTagCheckBox.Checked;
        }
Exemple #28
0
        public void SingleClassWithEmptySummary()
        {
            string       fileContent = Util.GetFileContent("Single class with empty summary.txt");
            PolicyConfig config      = new PolicyConfig().LoadDefaults();

            ViolationStore   violationStore = new CodeCommentsFacade().CheckCodeDocumentation(fileContent, config);
            List <Violation> violations     = violationStore.Violations.ToList();

            Assert.AreEqual(1, violations.Count);

            Violation classViolation = violations.First();

            Assert.AreEqual(Constants.MissingSummaryMessage, classViolation.Message);
            Assert.AreEqual("CDCP.Tests.SampleCode.Test1", classViolation.FullSymbolName);
        }
Exemple #29
0
        void IPolicyConfigControl.ReadFromConfig(PolicyConfig config)
        {
            MethodConfig controlConfig = config.MethodConfig;

            Visibilities.Bind(controlConfig.VisibilitiesToCheck);

            GenericParametersOptionCheckBox.Checked = controlConfig.GenericParameterDocumentationRequired;
            ParametersOptionCheckBox.Checked        = controlConfig.ParameterDocumentationRequired;
            OverridesOptionCheckBox.Checked         = controlConfig.DocumentOverrides;
            ExplicitOptionCheckBox.Checked          = controlConfig.ExplicitInterfaceMethodDocumentationRequired;
            InterfaceOptionCheckBox.Checked         = controlConfig.InterfaceDeclarationDocumentationRequired;
            ReturnsDocumentationTagCheckBox.Checked = controlConfig.ResultDocumentationRequired;
            SampleDocumentationTagCheckBox.Checked  = controlConfig.SampleDocumentationRequired;
            SummaryDocumentationTagCheckBox.Checked = controlConfig.SummaryDocumentationRequired;
        }
Exemple #30
0
        public static IHttpClientBuilder AddPolicyHandlers(this IHttpClientBuilder httpClientBuilder, string policySectionName, ILoggerFactory loggerFactory, IConfiguration configuration)
        {
            var retryLogger          = loggerFactory.CreateLogger("PollyHttpRetryPoliciesLogger");
            var circuitBreakerLogger = loggerFactory.CreateLogger("PollyHttpCircuitBreakerPoliciesLogger");

            var policyConfig = new PolicyConfig();

            configuration.Bind(policySectionName, policyConfig);

            var circuitBreakerPolicyConfig = (ICircuitBreakerPolicyConfig)policyConfig;
            var retryPolicyConfig          = (IRetryPolicyConfig)policyConfig;

            return(httpClientBuilder.AddRetryPolicyHandler(retryLogger, retryPolicyConfig)
                   .AddCircuitBreakerHandler(circuitBreakerLogger, circuitBreakerPolicyConfig));
        }
Exemple #31
0
        void IPolicyConfigControl.WriteToConfig(PolicyConfig config)
        {
            MethodConfig controlConfig = config.MethodConfig;

            controlConfig.VisibilitiesToCheck = Visibilities.GetVisibilites();

            controlConfig.GenericParameterDocumentationRequired = GenericParametersOptionCheckBox.Checked;
            controlConfig.ParameterDocumentationRequired        = ParametersOptionCheckBox.Checked;
            controlConfig.DocumentOverrides = OverridesOptionCheckBox.Checked;
            controlConfig.ExplicitInterfaceMethodDocumentationRequired = ExplicitOptionCheckBox.Checked;
            controlConfig.InterfaceDeclarationDocumentationRequired    = InterfaceOptionCheckBox.Checked;
            controlConfig.ResultDocumentationRequired  = ReturnsDocumentationTagCheckBox.Checked;
            controlConfig.SampleDocumentationRequired  = SampleDocumentationTagCheckBox.Checked;
            controlConfig.SummaryDocumentationRequired = SummaryDocumentationTagCheckBox.Checked;
        }