# XBUP - Dokumentace: Integrace do programovacích jazyků

### Úvod

Tento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje popis integrace protokolu do programovacích jazyků.

O úroveň výše

### Obsah

1. Serializace objektů
1.1. Serializační rozhraní
1.1.1. Rozhraní pro určení typu
1.1.2. Procesní metody
2. Transformace objektů

### 1. Serializace 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.

### 1.1. Serializační rozhraní

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.

### 1.1.1. Rozhraní pro určení typu

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:

- Definovat pro každý typ (blok, skupinu, formát) samostatné rozhraní
- Definovat jedno rozhraní a odlišit typy vrácených položek

getXBUPType: XBUPType

XBUPType: class
path: array of UBNatural
itemtype: (block, group, format)

### 1.1.2. Procesní metody

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.

### 2. Transformace objektů

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