void ManualSessionProcess(DeviceDescriptionHolder devHolder) { IdentitySubscriptions.Add(sessionFactory.CreateSession(devHolder.Uris) .ObserveOnCurrentDispatcher() .Subscribe(isession => { ManualInitDeviceHolder(isession, devHolder); }, err => { dbg.Error(err); })); }
void SessionProcess(DeviceDescriptionHolder devHolder, bool publishEvent) { IdentitySubscriptions.Add(sessionFactory.CreateSession(devHolder.Uris) .ObserveOnCurrentDispatcher() .Subscribe(isession => { InitDeviceHolder(isession, devHolder, publishEvent); }, err => { //dbg.Error(err); InitDeviceHolder(sessionFactory.CreateSession(devHolder.Uris[devHolder.Uris.Count() - 1]), devHolder, publishEvent); })); }
void ReleaseDeviceSubscription() { IdentitySubscriptions.Dispose(); IdentitySubscriptions = new CompositeDisposable(); subscriptions.Dispose(); subscriptions = new CompositeDisposable(); if (discoverSubscription != null) { discoverSubscription.Dispose(); } discoverSubscription = new SerialDisposable(); }
void ManualInitDeviceHolder(INvtSession session, DeviceDescriptionHolder devHolder) { devHolder.session = session; facade = new OdmSession(session); var model = new IdentificationModel(); IdentitySubscriptions.Add( facade.GetIdentity(() => model) .ObserveOnCurrentDispatcher() .Subscribe(mod => { devHolder.Init(mod); }, err => { //dbg.Error(err); //MessageBox.Show(err.Message); }) ); }
void InitDeviceHolder(INvtSession session, DeviceDescriptionHolder devHolder, bool publish) { devHolder.session = session; facade = new OdmSession(session); var model = new IdentificationModel(); IdentitySubscriptions.Add( facade.GetIdentity(() => model) .ObserveOnCurrentDispatcher() .Subscribe(mod => { devHolder.Init(mod); if (publish) { DeviceSelectedPublish(devHolder, sessionFactory); } }, err => { //dbg.Error(err); //MessageBox.Show(err.Message); }) ); }