-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, {ok, Msg}) -> 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', {returnResult, #'ReturnResult'{invokeId = Id, result = #'ReturnResult_result'{opcode = Op, result = Msg}}}). invoke(Id, Op, {ok, 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} -> return(Id, Op, status:status()); {local, 51} -> ok end; dispatch({returnResult, result = #'ReturnResult'{result = #'ReturnResult_result'{result = Msg}}}) -> {result, Msg}.