public virtual IEnumerator<ITask> GenericSubscribeHandler(pxbattery.Subscribe subscribe) { base.SubscribeHelper(_subMgrPort, subscribe.Body, subscribe.ResponsePort); if (_state.TimeStamp != DateTime.MinValue) { SendNotificationToTarget<pxbattery.Replace>(subscribe.Body.Subscriber, _subMgrPort, _state.SyncGenericState(ref _genericState)); } yield break; }
public virtual IEnumerator<ITask> GenericReplaceHandler(pxbattery.Replace replace) { _state.CopyFrom(replace.Body); replace.ResponsePort.Post(DefaultReplaceResponseType.Instance); yield break; }
public virtual IEnumerator<ITask> GenericSetCriticalLevelHandler(pxbattery.SetCriticalLevel setCriticalLevel) { _state.CriticalBatteryVoltage = _state.MaxVoltage * setCriticalLevel.Body.PercentCriticalBattery; SendNotification<pxbattery.SetCriticalLevel>(_subMgrPort, setCriticalLevel); setCriticalLevel.ResponsePort.Post(DefaultUpdateResponseType.Instance); yield break; }
public virtual IEnumerator<ITask> GenericGetHandler(pxbattery.Get get) { _state.SyncGenericState(ref _genericState); get.ResponsePort.Post(_genericState); yield break; }