Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
titlereceiveDataStreamHandler
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.

...

Code Block
languageesl
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.

Code Block
languagejs
// 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

...