/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 - 2 0 2 2 ĠT omas z ĠB abi uk Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġeu . autom ate everything . jsonrpc 2 Ċ Ċ import Ġeu . autom ate everything . domain . automation . Automation Con duct or Ċ import Ġeu . autom ate everything . interop . Method Handler Ċ import Ġeu . autom ate everything . interop . Subscription Handler Ċ import Ġeu . autom ate everything . map pers . Automation Unit Dto Mapper Ċ import Ġkotlinx . serialization . Binary Format Ċ import Ġkotlinx . serialization . encode To ByteArray Ċ Ċ class ĠAutomation Units Method Handler ( private Ġval Ġautomation Con duct or : ĠAutomation Con duct or , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġmapper : ĠAutomation Unit Dto Mapper Ċ ) Ġ: ĠMethod Handler Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmatches ( method : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmethod Ġ== Ġ" Get Automation Units " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle ( format : ĠBinary Format , Ġparams : ĠByteArray ?, Ġsubscriptions : ĠMutable List < Subscription Handler >): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġunits Ġ= Ġautomation Con duct or ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. automation Units Cache ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. values ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmapper . map ( it . second , Ġit . first ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġformat . encode To ByteArray ( units ) ĊĠĠĠĠĠĠĠ Ġ} Ċ }