Class Config_file.cp_custom_type

class ['a] cp_custom_type : 'a wrappers -> ?group:group -> string list -> ?short_name:string -> 'a -> string -> ['a] cp
To define a new cp class, you just have to provide an implementation for the wrappers between your type foo and the type Raw.cp. Once you have your wrappers w, write
class foo_cp = [foo] cp_custom_type w

For further details, have a look at the commented .ml file, section "predefined cp classes".