Exemple #1
0
        /// <summary>
        /// Converts a <see cref="Krb5Config"/> instance into a <see cref="ConfigurationSectionList" /> for possible future serialization.
        /// </summary>
        /// <param name="config"></param>
        /// <returns></returns>
        public static ConfigurationSectionList FromConfigObject(Krb5Config config)
        {
            if (config is null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            var list = new ConfigurationSectionList();

            foreach (var property in config.GetType().GetProperties())
            {
                var section = property.GetValue(config);

                list.Add(AddSection(section, property));
            }

            return(list);
        }
        /// <summary>
        /// Converts a <see cref="Krb5Config"/> instance into a <see cref="ConfigurationSectionList" /> for possible future serialization.
        /// </summary>
        /// <param name="config">The configuration instance to load</param>
        /// <param name="serializationConfig">Serializer configuration options</param>
        /// <returns>Returns a sectioned version of the configuration</returns>
        public static ConfigurationSectionList FromConfigObject(Krb5Config config, Krb5ConfigurationSerializationConfig serializationConfig)
        {
            if (config is null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            if (serializationConfig == null)
            {
                serializationConfig = new Krb5ConfigurationSerializationConfig();
            }

            var list = new ConfigurationSectionList();

            foreach (var property in config.GetType().GetProperties(PublicInstancePropertyFlags))
            {
                var section = property.GetValue(config);

                list.Add(AddSection(section, property, serializationConfig));
            }

            return(list);
        }
Exemple #3
0
 /// <summary>
 /// Serialize a configuration object instance into a configuration file.
 /// </summary>
 /// <param name="configuration">The configuration to serialize.</param>
 /// <param name="serializationConfig">Optional configuration that describes the format requested.</param>
 /// <returns>Returns the configuration in string form.</returns>
 public static string Serialize(Krb5Config configuration, Krb5ConfigurationSerializationConfig serializationConfig = null)
 {
     return(Serialize(ConfigurationSectionList.FromConfigObject(configuration), serializationConfig));
 }
 /// <summary>
 /// Converts a <see cref="Krb5Config"/> instance into a <see cref="ConfigurationSectionList" /> for possible future serialization.
 /// </summary>
 /// <param name="config">The configuration instance to load</param>
 /// <returns>Returns a sectioned version of the configuration</returns>
 public static ConfigurationSectionList FromConfigObject(Krb5Config config) => FromConfigObject(config, null);