On 11/29/2014 08:38 PM, Dmitri Pal wrote:
Hello,

I have been working on an interface to modify configuration file (yes alternative to augeas) as promised.
INI supports multi valued keys so the interface needs to be able to manage duplicates.

The attached header file contains the prototype of the interface.
I have implemented value management and about to do the section management. That part would be quite simple.
Before I polish everything up, hook together and start sending patches I wanted to make sure the interface is OK and is not missing anything.

I was not sure how much of the design page is needed.
I will probably create one based on this thread with a pointer to header file.

The assumption is that:
- the caller will read an existing configuration object from a file or create a configuration object himself. These calls are already available for some time.
- the caller will then add/updated/delete the configuration object as he sees fit. This is this interface.
- the caller then will call already existing serialization function that will return a simple buffer object that will contain a serialized configuration ready to be stored in a file.
- the caller can use simple buffer methods to write content of the buffer to a file descriptor or just create a file (FILE *), get the serialized buffer and write to that file. It is up to the caller and there is so far no plan to provide a specific "save function" as it is unclear what would be a good function to have.


Let me know if any of these assumptions wrong.
Please take a look at the file, it has doxygen comments. It is a sanity check exercise not a thorough review :-).
The comments refer to collection interface so I included it too for easier reading.

Please see attached a new version of the header.

Also I wonder if I should provide a way to sort the sections and keys in a specific order.
Would it make sense to have a way to say:
- sort the keys in sections that match a specific pattern in the following way: first keys that match pattern a, then b, then c... and then all the rest as they are.
- sort the sections in such a way that sections with name matching the following patter should go first, then other pattern next, then other pattern and so on.

Would that will be useful? I think so, but before I spend time on it I wanted to double check.




-- 
Thank you,
Dmitri Pal

Sr. Engineering Manager IdM portfolio
Red Hat, Inc.


_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel


-- 
Thank you,
Dmitri Pal

Sr. Engineering Manager IdM portfolio
Red Hat, Inc.