Busco a un IDL-como (o lo que sea) traductor que convierte una definición de documento DOM- o JSON-como en clases queAnalizador tipo IDL que convierte una definición de documento en clases potentes?
- son accesibles desde ambos C++ y Python, dentro de la misma aplicación
- exponer las propiedades del documento como Ints, flotadores, cuerdas, blob binario y compuestos: array, dict cadena (tanto encajable) (básicamente el conjunto de características de tipo JSON)
- permitir cambios para ser rastreados para refrescar vistas de una interfaz de usuario de edición
- proporcionan un historial de cambios para habilitar las operaciones de deshacer/rehacer
- se puede serializar hacia y desde JSON (también puede ser algún tipo de formato binario)
- permiten mantener grandes fragmentos de datos en el disco, con sólo piezas cargadas en la demanda
- proporcionar sin bloqueo seguro para subprocesos de lectura/escritura acceso para intercambiar datos con hilos en tiempo real
- permitir que varios editores en diferentes procesos (o incluso en diferentes máquinas) para ver y modificar el documento
lo que más se acerca hasta el momento es el sistema 2,5 de ADN/ARN Blender , pero no está disponible como una biblioteca separada y mal documentada.
Estoy tratando de asegurarme de que una lib todavía no exista, así que sé que mi tiempo no se pierde cuando empiezo a diseñar y escribir algo así. Se supone que proporciona una base excelente para escribir componentes de UI de edición.
Información adicional, unos meses después de hacer esta pregunta: desarrollé mi propia solución para el problema subyacente a la pregunta anterior.Aquí está el resumen del proyecto: "Datenwerk es una biblioteca C autorizada por MIT para GNU/Linux y Windows con el objetivo de proporcionar una API de datos/modelo para aplicaciones que requieren un modelo/vista/patrón de controlador. Es el más adecuado para usar en música, 3D , gráficos vectoriales, escena, video y editores de juegos. Se incluyen enlaces para Python. ". El proyecto se encuentra en bitbucket.org/paniq/datenwerk – paniq