public ClientContext(RobotRaconteurNode node) : base(node) { //rec_event = new AutoResetEvent(false); stubs = new Dictionary <string, ServiceStub>(); DynamicServiceFactory_ = node.DynamicServiceFactory; UsePulledServiceTypes = DynamicServiceFactory_ != null; }
public static com.robotraconteur.datetime.DateTimeLocal LocalNow(RobotRaconteurNode node = null, DeviceInfo info = null) { if (node == null) { node = RobotRaconteurNode.s; } var now = node.NowUTC; var epoch_now = now - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)); var ret = new com.robotraconteur.datetime.DateTimeLocal(); ret.seconds = (long)Math.Floor(epoch_now.TotalSeconds); ret.nanoseconds = (int)((epoch_now - TimeSpan.FromSeconds(ret.seconds)).Ticks * ((long)1e6 / TimeSpan.TicksPerMillisecond)); var utc_offset = TimeZoneInfo.Local.GetUtcOffset(now); ret.seconds += (long)utc_offset.TotalSeconds; var clock_info = new com.robotraconteur.datetime.ClockInfo(); clock_info.clock_type = (int)com.robotraconteur.datetime.ClockTypeCode.default_; var device_uuid_bytes = info?.device?.uuid.uuid_bytes; clock_info.clock_uuid.uuid_bytes = device_uuid_bytes ?? new byte[16]; ret.clock_info = clock_info; ret.utc_offset_seconds = (int)utc_offset.TotalSeconds; ret.timezone_name = TimeZoneInfo.Local.Id; return(ret); }
public override MessageElementStructure PackStructure(Object s) { if (s == null) { return(null); } string objtype = s.GetType().ToString(); if (RobotRaconteurNode.SplitQualifiedName(objtype)[0].TrimEnd(new char[] { '_' }) == "sensors.ati.mini45") { string objshort = RemovePath(objtype); switch (objshort) { case "FTData": return(FTData_stubentry.PackStructure(s)); default: break; } } else { return(RobotRaconteurNode.s.PackStructure(s)); } throw new Exception(); }
public override ServiceStub CreateStub(WrappedServiceStub innerstub) { string objecttype = innerstub.RR_objecttype.GetServiceDefinition().Name + "." + innerstub.RR_objecttype.Name; string objshort; if (CompareNamespace(objecttype, out objshort)) { switch (objshort) { case "baseobj": return(new baseobj_stub(innerstub)); case "subobj": return(new subobj_stub(innerstub)); default: break; } } else { string ext_service_type = RobotRaconteurNode.SplitQualifiedName(objecttype).Item1; return(RobotRaconteurNode.s.GetServiceType(ext_service_type).CreateStub(innerstub)); } throw new ServiceException("Could not create stub"); }
public override ServiceSkel CreateSkel(object obj) { string objtype = RobotRaconteurNode.GetTypeString(ServiceSkelUtil.FindParentInterface(obj.GetType())); string objshort; if (CompareNamespace(objtype, out objshort)) { switch (objshort) { case "baseobj": return(new baseobj_skel((baseobj)obj)); case "subobj": return(new subobj_skel((subobj)obj)); default: break; } } else { string ext_service_type = RobotRaconteurNode.SplitQualifiedName(objtype).Item1; return(RobotRaconteurNode.s.GetServiceFactory(ext_service_type).CreateSkel(obj)); } throw new ServiceException("Could not create skel"); }
public override ServiceSkel CreateSkel(object obj) { string objtype = ServiceSkelUtil.UnfixName(ServiceSkelUtil.FindParentInterface(obj.GetType()).ToString()); if (RobotRaconteurNode.SplitQualifiedName(objtype.ToString())[0].TrimEnd(new char[] { '_' }) == "sensors.ati.mini45") { string sobjtype = RemovePath(objtype); switch (sobjtype) { case "ATImini45Host": return(new ATImini45Host_skel((ATImini45Host)obj)); case "ATImini45": return(new ATImini45_skel((ATImini45)obj)); default: break; } } else { string ext_service_type = RobotRaconteurNode.SplitQualifiedName(objtype.ToString())[0].TrimEnd(new char[] { '_' }); return(RobotRaconteurNode.s.GetServiceFactory(ext_service_type).CreateSkel(obj)); } throw new ServiceException("Could not create skel"); }
public override ServiceStub CreateStub(WrappedServiceStub innerstub) { string objecttype = innerstub.RR_objecttype.GetServiceDefinition().Name + "." + innerstub.RR_objecttype.Name; if (RobotRaconteurNode.SplitQualifiedName(objecttype)[0].TrimEnd(new char[] { '_' }) == "sensors.ati.mini45") { string objshort = RemovePath(objecttype); switch (objshort) { case "ATImini45Host": return(new ATImini45Host_stub(innerstub)); case "ATImini45": return(new ATImini45_stub(innerstub)); default: break; } } else { string ext_service_type = RobotRaconteurNode.SplitQualifiedName(objecttype)[0].TrimEnd(new char[] { '_' }); return(RobotRaconteurNode.s.GetServiceType(ext_service_type).CreateStub(innerstub)); } throw new ServiceException("Could not create stub"); }
public static SensorDataHeader FillSensorDataHeader(RobotRaconteurNode node, DeviceInfo device_info, ulong seqno) { var ret = new SensorDataHeader(); ret.seqno = seqno; ret.ts = DateTimeUtil.TimeSpec2Now(node, device_info); return(ret); }
public static DeviceTime FillDeviceTime(RobotRaconteurNode node, DeviceInfo device_info, ulong seqno) { var ret = new DeviceTime(); ret.device_seqno = seqno; ret.device_ts = TimeSpec2Now(node, device_info); ret.device_utc = UtcNow(node, device_info); return(ret); }
protected Transport(RobotRaconteurNode node = null) { if (node != null) { this.node = node; } else { this.node = RobotRaconteurNode.s; } }
public Endpoint(RobotRaconteurNode node) { if (node == null) { this.node = RobotRaconteurNode.s; } else { this.node = node; } }
public static com.robotraconteur.datetime.TimeSpec3 TimeSpec3Now(RobotRaconteurNode node = null) { if (node == null) { node = RobotRaconteurNode.s; } var now = node.NowTimeSpec; var ret = new com.robotraconteur.datetime.TimeSpec3(); ret.microseconds = now.seconds * 1000000 + now.nanoseconds / 1000; return(ret); }
public ServiceFactory(RobotRaconteurNode node = null, ClientContext context = null) { if (node != null) { this.node = node; } else { this.node = RobotRaconteurNode.s; } this.context = context; }
public WallTimer(int period, Action <TimerEvent> handler, bool oneshot, RobotRaconteurNode node = null) { if (node == null) { this.node = RobotRaconteurNode.s; } else { this.node = node; } this.Period = period; this.handler = handler; this.oneshot = oneshot; }
public WallRate(double frequency, RobotRaconteurNode node = null) { if (node == null) { this.node = RobotRaconteurNode.s; } else { this.node = node; } this.period = (double)(1000.0 / frequency); last_time = node.UtcNow; start_time = node.UtcNow; }
public override RobotRaconteurException DownCastException(RobotRaconteurException rr_exp) { if (rr_exp == null) { return(rr_exp); } string rr_type = rr_exp.Error; if (!rr_type.Contains(".")) { return(rr_exp); } string[] rr_stype = RobotRaconteurNode.SplitQualifiedName(rr_type); if (rr_stype[0] != "sensors.ati.mini45") { return(RobotRaconteurNode.s.DownCastException(rr_exp)); } return(rr_exp); }
public static com.robotraconteur.datetime.TimeSpec2 TimeSpec2Now(RobotRaconteurNode node = null, DeviceInfo info = null) { if (node == null) { node = RobotRaconteurNode.s; } var now = node.NowTimeSpec; var ret = new com.robotraconteur.datetime.TimeSpec2(); ret.seconds = now.seconds; ret.nanoseconds = now.nanoseconds; var clock_info = new com.robotraconteur.datetime.ClockInfo(); clock_info.clock_type = (int)com.robotraconteur.datetime.ClockTypeCode.node_default; var device_uuid_bytes = info?.device?.uuid.uuid_bytes; clock_info.clock_uuid.uuid_bytes = device_uuid_bytes ?? new byte[16]; ret.clock_info = clock_info; return(ret); }
public override T UnpackStructure <T>(MessageElementStructure l) { if (l == null) { return(default(T)); } if (RobotRaconteurNode.SplitQualifiedName(l.Type)[0].TrimEnd(new char[] { '_' }) == "sensors.ati.mini45") { string objshort = RemovePath(l.Type); switch (objshort) { case "FTData": return(FTData_stubentry.UnpackStructure <T>(l)); default: break; } } else { return(RobotRaconteurNode.s.UnpackStructure <T>(l)); } throw new DataTypeException("Could not unpack structure"); }
public ostruct2_stub(com__robotraconteur__testing__TestService2Factory d, RobotRaconteurNode node, ClientContext context) { def = d; rr_node = node; rr_context = context; }
public BrowserWebSocketTransport(RobotRaconteurNode node = null) : base(node) { DefaultReceiveTimeout = 15000; DefaultConnectTimeout = 2500; parent_adapter = new AsyncStreamTransportParentImpl(this); }
public ClientNodeSetup(RobotRaconteurNode node, ServiceFactory[] service_types, string nodename = null, RobotRaconteurNodeSetupFlags flags = RobotRaconteurNodeSetupFlags.ClientDefault) : base(node, service_types, false, nodename, 0, flags) { }
public ClientNodeSetup(RobotRaconteurNode node, string nodename = null, RobotRaconteurNodeSetupFlags flags = RobotRaconteurNodeSetupFlags.ClientDefault) : base(node, null, true, nodename, 0, flags) { }
public ServerNodeSetup(RobotRaconteurNode node, ServiceFactory[] service_types, string nodename, ushort tcp_port, RobotRaconteurNodeSetupFlags flags = RobotRaconteurNodeSetupFlags.ServerDefault) : base(node, service_types, false, nodename, tcp_port, flags) { }
public ServerNodeSetup(RobotRaconteurNode node, string nodename, ushort tcp_port, RobotRaconteurNodeSetupFlags flags = RobotRaconteurNodeSetupFlags.ServerDefault) : base(node, null, true, nodename, tcp_port, flags) { }
public RobotRaconteurNodeSetup(RobotRaconteurNode node, ServiceFactory[] service_types, bool scan_assembly_types, string nodename, ushort tcp_port, RobotRaconteurNodeSetupFlags flags) { Node = node; if (flags.HasFlag(RobotRaconteurNodeSetupFlags.EnableLocalTransport)) { LocalTransport = new LocalTransport(node); if (flags.HasFlag(RobotRaconteurNodeSetupFlags.LocalTransportStartServer)) { LocalTransport.StartServerAsNodeName(nodename); } else if (flags.HasFlag(RobotRaconteurNodeSetupFlags.LocalTransportStartClient) && !string.IsNullOrEmpty(nodename)) { LocalTransport.StartClientAsNodeName(nodename); } if (flags.HasFlag(RobotRaconteurNodeSetupFlags.EnableNodeDiscoveryListening)) { LocalTransport.EnableNodeDiscoveryListening(); } node.RegisterTransport(LocalTransport); } if (flags.HasFlag(RobotRaconteurNodeSetupFlags.EnableTcpTransport)) { TcpTransport = new TcpTransport(node); if (flags.HasFlag(RobotRaconteurNodeSetupFlags.TcpTransportStartServer)) { TcpTransport.StartServer(tcp_port); } if (flags.HasFlag(RobotRaconteurNodeSetupFlags.EnableNodeDiscoveryListening)) { TcpTransport.EnableNodeDiscoveryListening(); } if (flags.HasFlag(RobotRaconteurNodeSetupFlags.EnableNodeAnnounce)) { TcpTransport.EnableNodeAnnounce(); } node.RegisterTransport(TcpTransport); } if (service_types != null) { foreach (var t in service_types) { node.RegisterServiceType(t); } } if (scan_assembly_types) { try { var scanned_types = ScanAssembliesForServiceTypes(); foreach (var t in scanned_types) { node.RegisterServiceType(t); } } catch (Exception e) { Console.Error.WriteLine("warning: assembly scanning failed: " + e.Message); } } }
public RobotRaconteurServiceIndexFactory(RobotRaconteurNode node = null) : base(node) { NodeInfo_stubentry = new NodeInfo_stub(this); ServiceInfo_stubentry = new ServiceInfo_stub(this); }
public com__robotraconteur__testing__TestService2Factory(RobotRaconteurNode node = null, ClientContext context = null) : base(node, context) { ostruct2_stubentry = new ostruct2_stub(this, this.node, this.context); }