Según developer.ubuntu.com , existen básicamente dos propósitos :
- Declarar capacidades de hardware al sistema
Citando de la documentación de Ubuntu :
El complemento de gadget es responsable de definir y manipular las propiedades del sistema que son específicas de uno o más dispositivos que generalmente se parecerán entre sí desde una perspectiva de implementación. Este complemento necesariamente debe ser producido y firmado por la marca del dispositivo, que se define a través de la afirmación del modelo. La marca sabe dónde y cómo se usará ese dispositivo, y diseña el complemento de gadget en consecuencia.
Por ejemplo, la marca puede saber que el dispositivo es en realidad una máquina virtual especial para usarse en una nube en particular, o puede saber que se fabricará en una fábrica en particular. El complemento del dispositivo puede codificar los mecanismos para la inicialización del dispositivo (generación de claves y certificación de identidad), así como procesos particulares para el ciclo de vida del dispositivo, como los restablecimientos de fábrica. Es perfectamente posible que diferentes modelos compartan un complemento de gadget.
- Permitir previamente el acceso a las instantáneas que necesitan usar este hardware
También de la documentación de Ubuntu :
El sistema opcional de preparar el dispositivo de gancho es un script que se llama en el gadget en el inicio del proceso de inicialización del dispositivo, después del snap aparato ha sido instalado. El gancho también se llamará si este proceso se vuelve a intentar más tarde desde cero en caso de fallas de inicialización.
El proceso de inicialización del dispositivo es, por ejemplo, responsable de establecer la identificación en serie del dispositivo a través de un intercambio con un servicio del dispositivo. El enlace de preparación del dispositivo puede, por ejemplo, redirigir este intercambio y establecer dinámicamente las opciones relevantes para él.