Development/Architecture/KDE4/Solid (es)
Interacción hardware sin fisuras
Con Solid, Los desarrolladores de KDE son capaces de escribir facilmente aplicaciones que interaccionan con características del hardware. La abstracción necesaria para soportar el desarrollo de aplicaciones multiplataforma es proporcionada de forma clara y comprensiva por la API de Solid.
Solid no tiene como objetivo el control de los dispositivos (no te permite sincronizar tu teléfono móvil con tu libreta de direcciones local): Solid *busca* dispositivos y te proporciona acceso a la información de estos. De esta manera, puedes mirar fácilmente las funciones de la cpu, o el controlador que maneja tu cámara, o el punto de montaje de tu lápiz usb. En suma: te da la posibilidad de "ver sin tocar" tus dispositivos.
Ahora te preguntas (al menos, yo me pregunté): "Por que debería necesitar esta biblioteca?" Quiero controlar el hardware disponible, no mirarlo solamente!"
Bien, Solid te ayuda un montón otra vez: para cualquier interfaz de dispositivo, te da abundante información para acceder a ella fácilmente, usando otras bibliotecas o "pilas". De esta manera, si quieres utilizar tu cámara, puedes usar Solid para reconocerla (puedes usar Solid::Notifier, que te permitirá saber cuando la cámara ha sido conectada) y luego puedes preguntar a Solid para que te la información necesaria para manejarla, por ejemplo con GPhoto o cualquier otra biblioteca que puedas pensar. Del mismo modo se aplica a cualquier otro dispositivo conectado: tarjetas DVB (una vez reconocidas, Solid te proporciona el nombre del dispositvo asociado), tarjetas de sonido (puedes usar ALSA, OSS o el que prefieras: Solid conoce los datos para acceder a ellas), reproductores multimedia portátiles, tarjetas de red, etcétera. Además, te permite comprobar si estás conectado a alguna red o no, y puedes usar Solid para decirle al sistema como conectarse (es decir, puedes preguntar a Solid: "Dame acceso a la red, no quiero preocuparme de los detalles").
De todos modos, algunas otras cosas necesitan ser dichas sobre los dispositivos de red y Bluetooth. Para estas dos clases de dispositivos, Solid proporciona el namespace "Control": es decir, te permite controlarlos directamente, sin usar bibliotecas externas. Esto significa que con Solid, puedes manejar incluso tus interfaces de red inalámbrica o de red con cable, asociarla a un essid, y elegir la configuración ip para ello. Puedes incluso acceder a tu teléfono a través de Bluetooth, etcétera.
La lista de partes de Solid reside en kdelibs, mientras que el namespace Control esta en kdebase.