Paso 14: Test_hbridge.cpp
Este archivo define el componente SW de nuestro proyecto. Porque la interfaz HBridgeCtrlIndication es siendo implementado en SW e invoca de HW, tenemos que aplicarlo como una clase heredada de lo HBridgeCtrlIndicationWrapper generados por la máquina. El contenedor generado declara una instancia virtual pura de cada método en la definición original de la interfaz HBridgeCtrlIndication BSV, que obliga al programador a proporcionar una implementación concreta de cada una.
En main, creamos una instancia de nuestro HBridgeCtrlIndication (envoltura) y una instancia del proxy generado para la interfaz de HBridgeCtrlRequest que se ha aplicado en HW. El ctors generada para cada uno de estos módulos contiene todo el código de inicialización que se localiza el HW correcto registra y asigna al espacio de usuario. Ctor para envolturas también registra el objeto con el controlador de eventos de interrupción-en coche, que se inicia mediante una llamada a pthread_create invocando el portalExec_start().
Después de crear instancias de los wrappers y proxies, estamos listos para empezar a enviar comandos al controlador a través del Portal designado. Cuando invoca a la HW SW funcionalidad, una interrupción se levanta que despierta el hilo del evento y se ejecuta el método de interfaz especificado. Comunicación entre el subproceso principal y el controlador de eventos está implementada usando las técnicas estándar de programación multi-threaded.