diff --git a/Rules-for-adding-new-device-types.md b/Rules-for-adding-new-device-types.md index 4b0680c..b846267 100644 --- a/Rules-for-adding-new-device-types.md +++ b/Rules-for-adding-new-device-types.md @@ -10,4 +10,15 @@ Steps for adding a new device type: 6. Update the manpages. Devices shall be subclasses of PrimaryDevice or ModeSenseDevice. Only devices backed by image files shall be subclasses of the Disk class. -See the implementations of the Host Services (SCHS) and the SCSI Printer (SCLP for a device implementations with low complexity. \ No newline at end of file +See the implementations of the Host Services (SCHS) and the SCSI Printer (SCLP) for a device implementations with low complexity. + +## Clients + +The Python based clients has class methods in the Common package for detecting device types that the backend supports, which are then exposed appropriately in the various front ends. See the RaCtlCmds class for details. + +At the time of writing, the code detects three types of devices: +* Disk -- Any device that takes an image file as argument +* Removable -- Any device which can have image files inserted and ejected (overlap with the above) +* Peripheral -- Any device that does not match the above. + +For most scenarios, the Python clients should not require any modification when new device types are added. However, testing the integration before releasing a stable version is strongly recommended. \ No newline at end of file