protected override RosMessage_old Create(Type objectType, JObject jObject) { if (jObject == null) { return(new RosMessage_old()); } else if (jObject["op"].ToString() == "advertise") { return(new RosAdvertise_old(jObject["topic"].ToString(), jObject["type"].ToString())); } else if (jObject["op"].ToString() == "subscribe") { return(new RosSubscribe_old(jObject["topic"].ToString(), jObject["type"].ToString())); } else if (jObject["op"].ToString() == "unsubscribe") { return(new RosUnsubscribe_old(jObject["topic"].ToString())); } else if (jObject["op"].ToString() == "publish") { MessageData_old msg = new MessageData_old(); try { msg = JsonConvert.DeserializeObject <MessageData_old>(jObject["msg"].ToString(), new MessageDataConverter(jObject["topic"].ToString())); } catch { } return(new RosPublish_old(jObject["topic"].ToString(), msg)); } else { return(new RosMessage_old()); // empty dummy } }
public RosPublish_old(string topic, MessageData_old messageData) { ++RosMessage_old._id; this.op = "publish"; this.id = "publish:" + topic + ":" + _id; this.topic = topic; this.msg = messageData; this.latch = false; }