IEnumerator <ITask> OnConnectSickLRFHandler(OnConnectSickLRF onConnectSickLRF) { if (onConnectSickLRF.DriveControl != _driveControl) { yield break; } _laserPort = ServiceForwarder <sicklrf.SickLRFOperations>(onConnectSickLRF.Service); _laserShutdown = new Port <Shutdown>(); sicklrf.ReliableSubscribe subscribe = new sicklrf.ReliableSubscribe( new ReliableSubscribeRequestType(5) ); subscribe.NotificationPort = _laserNotify; subscribe.NotificationShutdownPort = _laserShutdown; _laserPort.Post(subscribe); yield return(Arbiter.Choice( subscribe.ResponsePort, delegate(SubscribeResponseType response) { LogInfo("Subscribed to " + onConnectSickLRF.Service); }, delegate(Fault fault) { _laserShutdown = null; LogError(fault); } )); }
public IEnumerator <ITask> ReliableSubscribeHandler(sicklrf.ReliableSubscribe subscribe) { yield return(Arbiter.Choice( SubscribeHelper(_subMgrPort, subscribe.Body, subscribe.ResponsePort), delegate(SuccessResult success) { _subMgrPort.Post(new submgr.Submit( subscribe.Body.Subscriber, dssp.DsspActions.ReplaceRequest, _state, null)); }, delegate(Exception ex) { LogError(ex); } )); }
// ==================================================================================== // as generated: //[ServiceHandler] //public void ReliableSubscribeHandler(sicklrf.ReliableSubscribe reliablesubscribe) //{ // throw new NotImplementedException(); //} /// <summary> /// Handles ReliableSubscribe requests /// </summary> /// <param name="reliablesubscribe">request message</param> IEnumerator <ITask> ReliableSubscribeHandler(sicklrf.ReliableSubscribe reliablesubscribe) { Tracer.Trace("TrackRoamerUsrfService::ReliableSubscribeHandler()"); yield return(Arbiter.Choice( SubscribeHelper(_submgrPort, reliablesubscribe.Body, reliablesubscribe.ResponsePort), delegate(SuccessResult success) { if (_state != null && _state.DistanceMeasurements != null) { _submgrPort.Post(new submgr.Submit( reliablesubscribe.Body.Subscriber, DsspActions.ReplaceRequest, _state, null)); } }, null )); }
IEnumerator<ITask> OnConnectSickLRFHandler(OnConnectSickLRF onConnectSickLRF) { if (onConnectSickLRF.DriveControl != _driveControl) yield break; _laserPort = ServiceForwarder<sicklrf.SickLRFOperations>(onConnectSickLRF.Service); _laserShutdown = new Port<Shutdown>(); sicklrf.ReliableSubscribe subscribe = new sicklrf.ReliableSubscribe( new ReliableSubscribeRequestType(5) ); subscribe.NotificationPort = _laserNotify; subscribe.NotificationShutdownPort = _laserShutdown; _laserPort.Post(subscribe); yield return Arbiter.Choice( subscribe.ResponsePort, delegate(SubscribeResponseType response) { LogInfo("Subscribed to " + onConnectSickLRF.Service); }, delegate(Fault fault) { _laserShutdown = null; LogError(fault); } ); }