-module(rose). -export([decode/1, return/3, invoke/3, dispatch/1]). -include("Remote-Operations-Generic-ROS-PDUs.hrl"). decode(Msg) -> 'Remote-Operations-Generic-ROS-PDUs':decode('ROS', Msg). return(Id, Op, Msg) -> 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', {returnResult, #'ReturnResult'{invokeId = Id, result = #'ReturnResult_result'{opcode = Op, result = Msg}}}). invoke(Id, Op, Msg) -> 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', {invoke, #'Invoke'{invokeId = Id, opcode = Op, argument = Msg}}). dispatch({invoke, #'Invoke'{invokeId = Id, opcode = Op}}) -> case Op of {local, 211} -> {ok, Status} = status:status(), return(Id, Op, Status); {local, 51} -> ok end; dispatch({returnResult, #'ReturnResult'{result = #'ReturnResult_result'{result = Msg}}}) -> {result, Msg}.