A datasource driver can be implemented and registered with OpenCReports easily. In fact, all the built-in datasource input drivers use the registration interface. A newly registered datasource input driver can also replace the built-in ones.
bool ocrpt_input_register(const ocrpt_input * const input);
Get a datasource input driver using its name.
const ocrpt_input * const ocrpt_input_get(const char *name);