Hello,
of course, you can implement several device classes / device drivers - each of them responsible for controlling a dedicated hardware, driver, etc.
In principle, you can create several autoobjects out of one class - but typically (when talking about device classes) every device class accesses a certain hardware resource exclusively. Otherwise, this can cause some conflicts, when several instances are trying to communicate with the same (identical) hardware.
In many cases, a GUI application accesses several (independent) device classes.
To answer your question: In main.c you can also access these different device drivers to initialize/deinitialize the hardware and to process the data. "YourDevice_ProcessData()" is just a place holder. You can replace this by several calls to your drivers.