1 package com.neuronrobotics.sdk.common;
3 import com.neuronrobotics.sdk.common.device.server.IBowlerCommandProcessor;
12 private String
namespace;
124 for(
int i=0;(i<arguments.length && i < doswnstreamData.length);i++ ){
126 switch(arguments[i]){
132 double d = Double.parseDouble(doswnstreamData[i].
toString())*100;
136 double k = Double.parseDouble(doswnstreamData[i].
toString())*1000;
153 Integer [] data32 = (Integer [])doswnstreamData[i];
155 for(
int i1=0;i1<data32.length;i1++){
158 }
catch (ClassCastException ex){
159 int [] data32 = (
int [])doswnstreamData[i];
161 for(
int i1=0;i1<data32.length;i1++){
167 double [] dataDouble = (
double [])doswnstreamData[i];
169 for(
int i1=0;i1<dataDouble.length;i1++){
179 for(
int i1=0;i1<data.
size();i1++){
182 }
catch (ClassCastException ex){
184 Integer [] data32 = (Integer [])doswnstreamData[i];
186 for(
int i1=0;i1<data32.length;i1++){
189 }
catch (ClassCastException ex1){
190 int [] data32 = (
int [])doswnstreamData[i];
192 for(
int i1=0;i1<data32.length;i1++){
199 throw new RuntimeException(
"Unrecognized data type "+arguments[i]);
203 Log.
error(
"Expected : "+ arguments[i]+
" got: "+doswnstreamData[i].getClass());
204 if(arguments.length != doswnstreamData.length){
205 Log.
error(
"Wrong size : "+ arguments.length+
" got: "+doswnstreamData.length);
207 for(
int j=0;j<arguments.length;j++){
208 Log.
error(
"Valid : "+ arguments[j]+
" got: "+doswnstreamData[i].getClass());
247 Object [] response =
new Object[arguments.length];
252 for(i=0;(i<arguments.length);i++ ){
254 switch(arguments[i]){
271 response [i] =
new Boolean(data.
getUnsigned(0)!=0);
284 Integer [] i32Data =
new Integer[numVals32];
285 response [i] = i32Data;
286 for(
int j=0;j<numVals32;j++){
294 double [] dData =
new double[numVals32];
295 response [i] = dData;
296 for(
int j=0;j<numVals32;j++){
306 response [i] = iData;
309 for(
int j=0;j<numVals;j++){
317 throw new RuntimeException(
"Unrecognized data type"+arguments[i]);
320 }
catch(java.lang.ClassCastException e){
322 Log.
error(
"Expected : "+ arguments[i]+
" got: "+response[i].getClass());
323 if(arguments.length != response.length){
324 Log.
error(
"Wrong size : "+ arguments.length+
" got: "+response.length);
326 for(
int j=0;j<arguments.length;j++){
327 Log.
error(
"Valid : "+ arguments[j]+
" got: "+response[i].getClass());
331 }
catch(RuntimeException ex){
332 Log.
error(
"Failed to parse "+i+
"\n"+datagram+
"\nFrom "+
this);
354 this.
namespace = namespace;
411 throw new RuntimeException(
"RPC argument can not be null");
436 throw new RuntimeException(
"RPC argument can not be null");
void setNamespaceIndex(int namespaceIndex)
void setMethod(BowlerMethod method)
ByteList getCallingDataStorage()
void setOpCode(String opCode)
byte[] popList(int index)
synchronized boolean add(byte data)
static final int convertToInt(byte[] b)
int getUnsigned(int index)
boolean addAs16(int value)
boolean addAs32(int value)
static void error(String message)
RpcEncapsulation(int namespaceIndex, String namespace, String rpc, BowlerMethod downStreamMethod, BowlerDataType[] downstreamArguments, BowlerMethod upStreamMethod, BowlerDataType[] upstreamArguments)
void setNamespace(String namespace)
Object[] parseResponse(BowlerDatagram datagram)
BowlerMethod getUpStreamMethod()
IBowlerCommandProcessor getProcessor()
void setNamespaceIndex(int namespaceIndex)
void setDownstreamArguments(BowlerDataType[] downstreamArguments)
void setProcessor(IBowlerCommandProcessor processor)
BowlerDataType[] getDownstreamArguments()
BowlerAbstractCommand getCommand(Object[] doswnstreamData, BowlerDataType[] arguments)
void setUpStreamMethod(BowlerMethod upStreamMethod)
BowlerAbstractCommand getCommand(Object[] doswnstreamData)
BowlerMethod getDownstreamMethod()
void setArguments(BowlerMethod downStreamMethod, BowlerDataType[] downstreamArguments, BowlerMethod upStreamMethod, BowlerDataType[] upstreamArguments)
Object[] parseResponseDownstream(BowlerDatagram datagram)
BowlerDataType[] upstreamArguments
BowlerMethod upStreamMethod
IBowlerCommandProcessor processor
BowlerDataType[] downstreamArguments
BowlerDataType[] getUpstreamArguments()
RpcEncapsulation(int namespaceIndex, String namespace, String rpc, BowlerMethod downStreamMethod, BowlerDataType[] downstreamArguments, BowlerMethod upStreamMethod, BowlerDataType[] upstreamArguments, IBowlerCommandProcessor processor)
void setDownStreamMethod(BowlerMethod method)
BowlerAbstractCommand getCommandUpstream(Object[] doswnstreamData)
Object[] parseResponse(BowlerDatagram datagram, BowlerDataType[] arguments)
void setUpstreamArguments(BowlerDataType[] upstreamArguments)