From d4b3c570e2f10208912e16209a7759d860af178c Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 27 Oct 2015 20:51:51 +0100 Subject: Status module --- rose.erl | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'rose.erl') diff --git a/rose.erl b/rose.erl index 51a1ec9..093b372 100644 --- a/rose.erl +++ b/rose.erl @@ -1,16 +1,23 @@ -module(rose). --export([decode/1, encode/3, dispatch/1]). +-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). -encode(Id, Op, Msg) -> 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', +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} -> encode(Id, Op, <<5,0>>) - end. + {local, 211} -> + {ok, Status} = status:status(), + return(Id, Op, Status); + {local, 51} -> ok + end; +dispatch({returnResult, #'ReturnResult'{result = #'ReturnResult_result'{result = Msg}}}) -> {result, Msg}. -- cgit v1.2.3