XBUP - Dokumentace: Integrace do programovacích jazykůTento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje popis integrace protokolu do programovacích jazyků.
1. Serializace objektů
1.1. Serializační rozhraní
1.1.1. Rozhraní pro určení typu
1.1.2. Procesní metody
2. Transformace objektů
Je snaha umožnit integraci protokolu XBUP do programovacího jazyka a pomocí vhodných funkcí umožnit ukládání objektů do vhodných struktur. Za tímto účelem jsou definována rozhraní a jednotlivým objektům je možné přidělit adresu ekvivalentní specifikace. Metody pro serializaci pak umožní snadný převod do formátu XBUP, který je možné následně dále zpracovávat.
Kromě nových objektů je potřeba doplnit serializační metody pro stávající základní typy i další třídy.
Zřejmě je možné některé třídy převést na bloky, jiné na skupiny či celé formáty, což je potřeba odlišit přidáním odpovídajícího rozhraní. Jak by měla tato možnost být reflektována ve vyjádření tříd zatím není jasné.
Alternativně je také možné, že danou třídu lze převést na více tříd (opět by měla existovat transformace). Zda toto umožnit, případně jak zpřístupnit vícenásobnou serializaci bude řešeno v tomto dokumentu.
Serializovatelné třídy mají k dispozici funkci, která vrací typ výsledného serializovaného objektu. Způsob jak odlišit typ vrácené struktury se může lišit:
getXBUPType: XBUPType
XBUPType: class
path: array of UBNatural
itemtype: (block, group, format)
Vlastní serializace je prováděna metodami toStreamXB a fromStreamXB, které pracují s binárními datovými proudy a metodami toEventXB a fromEventXB, které pracují s posloupností událostí protokolu XBUP.
Tato část popisuje vztah mezi transformací objektů a struktur protokolu XBUP. Zřejmě možnost převést jednu třídu na jinou by se mělo projevit existencí ekvivalentního transformačního modulu. Vlastní převod tříd v programu je pak možné chápat jako zkrácení celého procesu vzdálené trasformace.
Homepage: http://xbup.sf.net
License: GNU Free Documentation License (FDL)
Latest update: 2007-04-27