// ĠCopyright Ġ 2 0 1 7 - 2 0 2 0 ĠFit bit , ĠInc Ċ // ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ċ package Ġcom . fit bit . remote api . handlers Ċ Ċ import Ġco . n st ant .` in `. cb or . Cb or Builder Ċ import Ġco . n st ant .` in `. cb or . Cb or Encoder Ċ import Ġcom . fit bit . gold eng ate . bindings . remote . Cb or Handler Ċ import Ġcom . fit bit . remote api . St aged Cb or Handler Ċ import Ġjava . io . ByteArray OutputStream Ċ Ċ class ĠVersion Rpc Ġprivate Ġconstructor () Ġ{ ĊĊĠĠĠ Ġdata Ġclass ĠVersion Info ( val Ġversion : ĠString , Ġval Ġbuild : ĠInt ) ĊĊĠĠĠ Ġcompanion Ġobject ĠHandler Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( version : ĠString , Ġbuild : ĠInt ): ĠC bor Handler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSt aged Cb or Handler ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" version ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSt aged Cb or Handler . Stages ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSt aged Cb or Handler . Unit Parser (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProcessor ( VersionInfo ( version , Ġbuild )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRes pon der () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠProcessor ( private Ġval Ġversion Info : ĠVersion Info ) Ġ: ĠSt aged Cb or Handler . Processor < Unit , ĠVersion Info > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprocess ( parameter Object : ĠUnit ): ĠVersion Info Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġversion Info ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠRes pon der Ġ: ĠSt aged Cb or Handler . Responder < VersionInfo > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrespond With ( response Object : ĠVersion Info ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcb or ReturnValue Stream Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġencoder Ġ= ĠC bor Encoder ( cb or ReturnValue Stream ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠC bor Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilt Structure Ġ= Ġbuilder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Map () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (" version ", Ġresponse Object . version ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (" build ", Ġresponse Object . build . to Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. end () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġencoder . encode ( built Structure ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcb or ReturnValue Stream . toByteArray () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ