A user interface calls Partition module to get a complete information about all discs in the system. The information contains these records:
The user is allowed not only to edit the parameters, but he can specify the high-level operations on filesystems: resizing, moving, copying, changing the filesystem parameters, converting the filesystem parameters,...
The user interface must remember all the operations and when the user chooses to verify/commit the changed, it call the Partition-module function with filled conversion information: what to do with every partition. These functions are located in libsurprise library.
The user interface may register a special progress-bar callback function, which will be called occasionally during the conversion. The user is informed about the phase of conversion, percentage and he may non-destructively stop the operation (until Permutation phase is started). If he wants to stop the conversion, a callback function informs the General-converter and it will clean the data structures.
Partition Surprise supports these user interfaces now:
A special user interface for usage in Linux distribution installation program -- dummy module -- is present too. It gets a current partition configuration, the requirements of the system and computes optimal target partition configuration.