public TelloVideoViewModel( IUIDispatcher dispatcher, IUINotifier notifier, IVideoObserver videoObserver) : base(dispatcher, notifier) { _videoObserver = videoObserver ?? throw new ArgumentNullException(nameof(videoObserver)); }
public MainPage() { this.InitializeComponent(); this.dispatcher = new UIDispatcher(SynchronizationContext.Current); this.notifier = new UINotifier(); this.ViewModel = this.CreateMainViewModel(this.dispatcher, this.notifier); this.DataContext = this.ViewModel; this.ViewModel.ControllerViewModel.PropertyChanged += this.ControllerViewModel_PropertyChanged; }
public MainPage() { InitializeComponent(); _dispatcher = new UIDispatcher(SynchronizationContext.Current); _notifier = new UINotifier(); ViewModel = CreateMainViewModel(_dispatcher, _notifier); DataContext = ViewModel; ViewModel.ControllerViewModel.PropertyChanged += ControllerViewModel_PropertyChanged; }
public TelloControllerViewModel( IUIDispatcher dispatcher, IUINotifier notifier, IFlightController controller, IRepository repository, ISession session) : base(dispatcher, notifier) { this.controller = controller ?? throw new ArgumentNullException(nameof(controller)); this.repository = repository ?? throw new ArgumentNullException(nameof(repository)); this.session = session ?? throw new ArgumentNullException(nameof(session)); }
public TelloStateViewModel( IUIDispatcher dispatcher, IUINotifier notifier, IStateObserver stateObserver, IRepository repository, ISession session) : base(dispatcher, notifier) { this.stateObserver = stateObserver ?? throw new ArgumentNullException(nameof(stateObserver)); this.repository = repository ?? throw new ArgumentNullException(nameof(repository)); this.session = session ?? throw new ArgumentNullException(nameof(session)); }
public MainPage() { this.InitializeComponent(); // Initialize helper class used to render the skill results on screen m_bboxRenderer = new BoundingBoxRenderer(UIOverlayCanvas); m_processedBitmapSource = new SoftwareBitmapSource(); PopulateCommands(); ApiContainer.Register <ComputerVisionService>(new ComputerVisionService()); this.dispatcher = new UIDispatcher(SynchronizationContext.Current); this.notifier = new UINotifier(); this.ViewModel = this.CreateMainViewModel(this.dispatcher, this.notifier); this.DataContext = this.ViewModel; this.ViewModel.ControllerViewModel.PropertyChanged += this.ControllerViewModel_PropertyChanged; isListening = false; }
public MainViewModel( IUIDispatcher dispatcher, IUINotifier notifier, IRepository repository, ITransceiver transceiver, IReceiver stateReceiver, IReceiver videoReceiver) : base(dispatcher, notifier) { this.tello = new DroneMessenger(transceiver, stateReceiver, videoReceiver); repository.CreateCatalog <Session>(); repository.CreateCatalog <ObservationGroup>(); repository.CreateCatalog <StateObservation>(); repository.CreateCatalog <AirSpeedObservation>(); repository.CreateCatalog <AttitudeObservation>(); repository.CreateCatalog <BatteryObservation>(); repository.CreateCatalog <HobbsMeterObservation>(); repository.CreateCatalog <PositionObservation>(); repository.CreateCatalog <ResponseObservation>(); var session = repository.NewEntity <Session>(); this.StateViewModel = new TelloStateViewModel( dispatcher, notifier, this.tello.StateObserver, repository, session); this.VideoViewModel = new TelloVideoViewModel( dispatcher, notifier, this.tello.VideoObserver); this.ControllerViewModel = new TelloControllerViewModel( dispatcher, notifier, this.tello.Controller, repository, session); }
private MainViewModel CreateMainViewModel(IUIDispatcher dispatcher, IUINotifier notifier) { #if EMULATOR_ON _simulator = new DroneSimulator(); var transceiver = new SimTransceiver(_simulator.MessageHandler); var stateReceiver = new SimReceiver(_simulator.StateTransmitter); var videoReceiver = new SimReceiver(_simulator.VideoTransmitter); #else var transceiver = new UdpTransceiver(IPAddress.Parse("192.168.10.1"), 8889); var stateReceiver = new UdpReceiver(8890); var videoReceiver = new UdpReceiver(11111); #endif return(new MainViewModel( this.dispatcher, this.notifier, new SqliteRepository((null, "tello.sqlite")), transceiver, stateReceiver, videoReceiver)); }
public ViewModel(IUIDispatcher dispatcher, IUINotifier userNotifier) : base(dispatcher) { this.DisplayName = $"#{this.GetType().Name}#"; this.UserNotifier = userNotifier ?? throw new ArgumentNullException(nameof(userNotifier)); }