Esempio n. 1
0
        //---------------------------------------------------------------------
        // Instance members

        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="name">The policy name.</param>
        /// <param name="path">The policy path.</param>
        /// <param name="capabilities">The policy capabilities.</param>
        public VaultPolicy(string name, string path, VaultCapabilies capabilities)
        {
            Covenant.Requires <ArgumentNullException>(!string.IsNullOrEmpty(name));
            Covenant.Requires <ArgumentNullException>(!string.IsNullOrEmpty(path));

            this.Name         = name;
            this.Path         = path;
            this.Capabilities = capabilities;
        }
Esempio n. 2
0
        /// <summary>
        /// Appends a comma separated, quoted Vault capability if the corresponding bit is set.
        /// </summary>
        /// <param name="sb">The target string builder.</param>
        /// <param name="capabilities">The capability bits.</param>
        /// <param name="test">The capability we're testing.</param>
        /// <param name="name">The capability name.</param>
        private static void Append(StringBuilder sb, VaultCapabilies capabilities, VaultCapabilies test, string name)
        {
            if ((capabilities & test) == 0)
            {
                return; // Not set
            }

            sb.AppendWithSeparator($"\"{name}\"", ",");
        }