コード例 #1
0
 public DeviceController(IDeviceDiscovery deviceDiscovery, IDevicePairing devicePairing, IPlayerNotificationProvider notificationProvider, IDeviceSettingProvider settingProvider, IPageController pageController)
 {
     if (deviceDiscovery == null)
     {
         throw new ArgumentNullException("deviceDiscovery");
     }
     if (devicePairing == null)
     {
         throw new ArgumentNullException("devicePairing");
     }
     if (settingProvider == null)
     {
         throw new ArgumentNullException("settingProvider");
     }
     if (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.dispatcher           = pageController.Dispatcher;
     this.Devices     = new ObservableCollection <DeviceInfo>();
     this.tokenSource = new CancellationTokenSource();
 }
コード例 #2
0
 public DataLibrary(IBaseDispatcher dispatcher)
 {
     /*this.dispatcher = dispatcher;
      * this.localDataDir = null;
      * this.RootMusicFolder = null;
      * this.RootImageFolder = null;
      * this.RootVideoFolder = null;
      * this.RootFolder = null;
      * this.TrackList = null;
      * this.contentAddingQueue = null;
      * this.watcher = new FileSystemWatcher()
      * {
      *  Path = this.localDataDir,
      *  NotifyFilter = NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.LastWrite | NotifyFilters.LastAccess,
      *  Filter = ""
      * };
      * this.watcher.Changed += new FileSystemEventHandler(this.OnCacheDataFolderChanged);
      * this.watcher.Deleted += new FileSystemEventHandler(this.OnCacheDataFolderChanged);
      * this.watcher.EnableRaisingEvents = true;*/
 }
コード例 #3
0
 public DataLibrary(IBaseDispatcher dispatcher)
 {
     this.dispatcher = dispatcher;
 }
コード例 #4
0
        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)));
        }
コード例 #5
0
 public static ITargetDevice CreateTvDevice(DeviceInfo deviceInfo, IPlayerNotificationProvider playerNotification, IBaseDispatcher dispatcher)
 {
     return(DeviceFactory.CreateTvDevice(deviceInfo, playerNotification, dispatcher, new NoSecurityProvider()));
 }
コード例 #6
0
        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));
        }