internal static ITargetDevice CreateTvDevice(DeviceInfo deviceInfo, IPlayerNotificationProvider playerNotification, IBaseDispatcher dispatcher, ISecondTvSecurityProvider securityProvider) { if (deviceInfo == null) { throw new ArgumentNullException("deviceInfo"); } if (playerNotification == null) { throw new ArgumentNullException("playerNotification"); } if (dispatcher == null) { throw new ArgumentNullException("dispatcher"); } SecondTvSyncTransport secondTvSyncTransport = new SecondTvSyncTransport(securityProvider); SecondTvAsyncTransport secondTvAsyncTransport = new SecondTvAsyncTransport(securityProvider); secondTvSyncTransport.Connect(deviceInfo.DeviceAddress); secondTvAsyncTransport.Connect(deviceInfo.DeviceAddress); SecondTv secondTv = new SecondTv(secondTvSyncTransport, deviceInfo.LocalAddress); SecondTvRemoteInput secondTvRemoteInput = new SecondTvRemoteInput(secondTvAsyncTransport, deviceInfo.LocalAddress); secondTvRemoteInput.Connect(secondTvSyncTransport); MbrKeySender mbrKeySender = new MbrKeySender(secondTvSyncTransport, deviceInfo.LocalAddress); RemoteControlFactory remoteControlFactory = new RemoteControlFactory(secondTvRemoteInput, mbrKeySender); return(new TvDevice(deviceInfo, secondTv, playerNotification, secondTvRemoteInput, remoteControlFactory, dispatcher, new HttpServer(), new MultiScreenController(), new DlnaServer(), new DataLibrary(dispatcher))); }
internal static ITargetDevice CreateTvDevice(DeviceInfo deviceInfo, IPlayerNotificationProvider playerNotification, IBaseDispatcher dispatcher, ISecondTvSecurityProvider securityProvider) { if (deviceInfo == null) { throw new ArgumentNullException("deviceInfo"); } if (playerNotification == null) { } if (dispatcher == null) { Console.WriteLine("Dispatcher is null"); } //Dispatcher backgroundSerialQeueue = new Dispatcher; SecondTvSyncTransport secondTvSyncTransport = new SecondTvSyncTransport(securityProvider); SecondTvAsyncTransport secondTvAsyncTransport = new SecondTvAsyncTransport(securityProvider); secondTvSyncTransport.Connect(deviceInfo.DeviceAddress); secondTvAsyncTransport.Connect(deviceInfo.DeviceAddress); SecondTv secondTv = new SecondTv(secondTvSyncTransport, deviceInfo.LocalAddress); SecondTvRemoteInput secondTvRemoteInput = new SecondTvRemoteInput(secondTvAsyncTransport, deviceInfo.LocalAddress); secondTvRemoteInput.Connect(secondTvSyncTransport); MbrKeySender mbrKeySender = new MbrKeySender(secondTvSyncTransport, deviceInfo.LocalAddress); RemoteControlFactory remoteControlFactory = new RemoteControlFactory(secondTvRemoteInput, mbrKeySender); HttpServer _https = new HttpServer(); MultiScreenController _msc = new MultiScreenController(); DlnaServer _dlnas = new DlnaServer(); DataLibrary _dl = new DataLibrary(_dispatcher); return(new TvDevice(deviceInfo, secondTv, playerNotification, secondTvRemoteInput, remoteControlFactory, dispatcher, _https, _msc, _dlnas, _dl)); }
public DeviceController(IDeviceDiscovery deviceDiscovery, IDevicePairing devicePairing, IPlayerNotificationProvider notificationProvider, IDeviceSettingProvider settingProvider) { if (deviceDiscovery == null) { Console.WriteLine("deviceDiscovery null."); throw new ArgumentNullException("deviceDiscovery"); } if (devicePairing == null) { Console.WriteLine("devicePairing null."); throw new ArgumentNullException("devicePairing"); } if (settingProvider == null) { Console.WriteLine("settingProvider null."); throw new ArgumentNullException("settingProvider"); } if (notificationProvider == null) { Console.WriteLine("notificationProvider null"); throw new ArgumentNullException("notificationProvider"); } this.deviceDiscovery = deviceDiscovery; this.deviceDiscovery.DeviceConnected += new EventHandler <DeviceInfoEventArgs>(this.deviceDiscovery_DeviceConnected); this.deviceDiscovery.DeviceUpdated += new EventHandler <DeviceInfoEventArgs>(this.deviceDiscovery_DeviceUpdated); this.deviceDiscovery.DeviceDisconnected += new EventHandler <DeviceInfoEventArgs>(this.deviceDiscovery_DeviceDisconnected); this.devicePairing = devicePairing; this.notificationProvider = notificationProvider; this.settingProvider = settingProvider; this.Devices = new ObservableCollection <DeviceInfo>(); this.tokenSource = new CancellationTokenSource(); }
private static void OnPlayerNotificationProvider(DependencyObject d, DependencyPropertyChangedEventArgs e) { MediaElementExt mediaElementExt = d as MediaElementExt; IPlayerNotificationProvider newValue = e.NewValue as IPlayerNotificationProvider; if (newValue != null && mediaElementExt != null) { newValue.CCDataReceived += new EventHandler <CCDataEventArgs>(mediaElementExt.OnCCDataReceived); } if (e.OldValue != null && mediaElementExt != null) { ((IPlayerNotificationProvider)e.OldValue).CCDataReceived -= new EventHandler <CCDataEventArgs>(mediaElementExt.OnCCDataReceived); } }
public static ITargetDevice CreateTvDevice(DeviceInfo deviceInfo, IPlayerNotificationProvider playerNotification, IBaseDispatcher dispatcher) { return(DeviceFactory.CreateTvDevice(deviceInfo, playerNotification, dispatcher, new NoSecurityProvider())); }