...
Prihlásiť sa na odoberanie hodnôt objektov D2000 je možné metódou subscribeObject. Tejto metóde sa cez perametre parametre odovzdá meno D2000 objektu, ktorého zmeny sa budú sledovať , a obslužná funkcia, ktorá sa pri zmene hodnoty objektu zavolá, alebo komponent SmartWeb Frameworku, ktorý bude na novú hodnotu reagovať a voliteľne . Voliteľne ako 3 parameter je možné predať objekt s atribútmi returnFields, prípadne returnTransformation, ktoré určia, ktoré atribúty hodnoty majú byť vrátené a prípadne transformáciu, ktorá sa má nad hodnotami vykonať. Možné hodnoty atribútov returnFields a returnTransformation sú popísané v sekcii Serializácia dát medzi klientom a API rozhraniami.
...
Blok kódu | ||||
---|---|---|---|---|
| ||||
function receiveDataStreamHandler(data, noModeData) { // spracovanie dát } |
Volanie D2000 RPC implementovanej v ESL
Rovnako ako REST API aj D2Api umožňuje volanie D2000 RPC procedúr napísaných v ESL alebo v Jave. Slúžia na to metódy rpc - volanie ESL RPC, rpcJava - volanie Java RPC a rpcSBA - volanie Java RPC na prenos binárnych dát. Prvé dva parametre týchto metód určujú meno event objektu (skriptu) a názov RPC procedúry. Všetky ďalšie parametre sú odovzdané ako parametre do volanej RPC procedúry. Štruktúra parametrov pre volania RPC je popísaná v časti Serializácia dát medzi klientom a API rozhraniami. Metódy vracajú objekt s metódou call, ktorá vykoná volanie RPC. Návratová hodnota volania RPC je Promise objekt, ktorý v prípade úspešného volania obsahuje požadované výstupné parametre RPC procedúry ako svoje atribúty vo forme Unival hodnôt.
...
Blok kódu | ||
---|---|---|
| ||
RPC PROCEDURE Sum (IN REAL _a, IN REAL _b, REAL _c) _c := _a + _b END Sum |
Ďalšie spôsoby volania D2000 RPC
D2Api umožňuje okrem ESL RPC metód volať aj Java RPC metódy prostredníctvom mena eventu alebo mena procesu, zároveň je možné špecifikovať pri volaní aj meno interfacu. Všetky spôsoby volania RPC sú zhrnuté nižšie.
Blok kódu | ||
---|---|---|
| ||
// Spôsoby volania ESL RPC cez meno eventu
d2Api.rpc(<meno eventu>, <meno RPC>, ...parametre).call(<timeout>);
d2Api.rpcWithInterface(<meno eventu>, <meno interfacu>, <meno RPC>, ...parametre).call(<timeout>);
// Spôsoby volania Java RPC cez meno eventu
d2Api.rpcJava(<meno eventu>, <meno RPC>, ...parametre).call(<timeout>);
d2Api.rpcJavaWithInterface(<meno eventu>, <meno interfacu>, <meno RPC>, ...parametre).call(<timeout>);
// Spôsoby volania RPC cez meno procesu
d2Api.rpcJapi(<meno procesu>, <meno RPC>, ...parametre).call(<timeout>);
d2Api.rpcJapiWithInterface(<meno procesu>, <meno interfacu>, <meno RPC>, ...parametre).call(<timeout>);
// Spôsob volania Java SBA RPC cez meno eventu s jedinym parametrom typu https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
d2Api.rpcJava(<meno eventu>, <meno RPC>, <array buffer parameter>).call(<timeout>);
|
Volanie JavaScript funkcií z D2000
...