sml to cpp: move file info factory across

- due to usage of locator we need to move it across