In order to support different versions of ROS, the code in proxy/roslaunch should be abstracted into interfaces, and the implementation code should be moved into a ros1 module similar to the existing ros2. These classes should be "abstracted":
ROSLaunchController: Manages a launch process
LaunchFileReader: Reads and processes launch files into internal data structures (partially done)
ROSLaunchManager: Provides access to reading, writing, and running launch files
In order to support different versions of ROS, the code in proxy/roslaunch should be abstracted into interfaces, and the implementation code should be moved into a ros1 module similar to the existing ros2. These classes should be "abstracted":