Create the Driver Files
A driver can contain a single file or multiple files depending on how the developer wants to structure the project.
NOTE: The procedures in this topic show how to structure the project using a single file, though they can be applied to either structuring method.
- A driver will require the implementation of one of the abstract device classes (ABasicVideoDisplay, ABasicCableBox, ABasicVideoServer, ABasicBlurayPlayer, and so forth) depending on its device type.
- A driver will also require the implementation of one of the device protocol classes (ADisplayProtocol, ACableBoxProtocol, AVideoServerProtocol, ABlurayPlayerProtocol, and so forth) depending on its device type.
- The following procedures apply to all supported device types, but some device types require additional development considerations. Refer to Additional Device Types for more information on these devices.
The following procedures define and explain how to create the required driver files. A driver named "ExampleDriver" is that contains the files below will be used as an example throughout the procedures.
- A file containing the JSON data (TestDriver.json): This file is loaded and used by the framework. Custom attributes can be handled in your driver class as described previously.
- ABasicVideoDisplay implementation (TestManufacturerTestModel.cs): This is the base abstract driver class.
- ADisplayProtocol implementation (TestManufacturerTestModelProtocol.cs): This class will be instantiated by the TestManufacturerTestModelComport class, which becomes the completed driver. It is responsible for handling the communication protocol.
- Communication type (TestManufacturerTestModelComport.cs): This class is responsible for handling the communication type for the driver.