Example #1
0
        public Gtk.Widget ProvideInfo(DeviceAnnouncement device)
        {
            var locations = device.Locations.GetEnumerator();

            locations.MoveNext();
            return(new RawXmlInfo(new Uri(locations.Current)));
        }
Example #2
0
        private void OnDeviceDetected(DeviceAnnouncement device)
        {
            var location = device.Locations.FirstOrDefault();

            var success = _provider.IsWeMoDevice(location);

            if (!success)
            {
                return;
            }

            var newDevice = !_provider.Exists(device.Udn);

            var updatedDevice = _provider.Exists(device.Udn) &&
                                _provider.Get(device.Udn).Location != location;

            var existingDevice = _provider.Exists(device.Udn);

            if (newDevice)
            {
                var weMoDevice = _provider.Create(location);
                Console.WriteLine($"Found new WeMo: {weMoDevice.FriendlyName} @ {weMoDevice.Host}");
            }
            else if (updatedDevice)
            {
                var weMoDevice = _provider.Update(device.Udn, location);
                Console.WriteLine($"Found updated WeMo: {weMoDevice.FriendlyName} @ {weMoDevice.Host}");
            }
            else if (existingDevice)
            {
                var weMoDevice = _provider.Update(device.Udn, location);
                Console.WriteLine($"Found existing WeMo: {weMoDevice.FriendlyName} @ {weMoDevice.Host}");
            }
        }
Example #3
0
 public LazyDeviceInfo (IDeviceInfoProvider provider, DeviceAnnouncement device)
 {
     this.provider = provider;
     this.device = device;
     
     this.Build ();
     
     loading.Text = Catalog.GetString ("Loading " + provider.Name);
 }
Example #4
0
        public LazyDeviceInfo(IDeviceInfoProvider provider, DeviceAnnouncement device)
        {
            this.provider = provider;
            this.device   = device;

            this.Build();

            loading.Text = Catalog.GetString("Loading " + provider.Name);
        }
 public DeviceAnnouncementInfo (DeviceAnnouncement device)
 {
     this.Build ();
     
     deviceType.Text = device.Type.ToString ();
     udn.Text = device.Udn;
     foreach (var location in device.Locations) {
         locationBox.PackStart (new Gtk.Label (location) { Selectable = true, Xalign = 0F }, true, true, 0);
     }
 }
        public DeviceAnnouncementInfo(DeviceAnnouncement device)
        {
            this.Build();

            deviceType.Text = device.Type.ToString();
            udn.Text        = device.Udn;
            foreach (var location in device.Locations)
            {
                locationBox.PackStart(new Gtk.Label(location)
                {
                    Selectable = true, Xalign = 0F
                }, true, true, 0);
            }
        }
Example #7
0
        Widget CreateNotebook(DeviceAnnouncement device)
        {
            var notebook = new Notebook();

            foreach (var provider in DeviceInfoProviders)
            {
                if (provider.CanProvideInfo(device.Type))
                {
                    notebook.AppendPage(new LazyDeviceInfo(provider, device), new Label(provider.Name));
                }
            }

            return(notebook);
        }
 public Gtk.Widget ProvideInfo (DeviceAnnouncement device)
 {
     return new DeviceDescriptionInfo (device.GetDevice ());
 }
 public Gtk.Widget ProvideInfo (DeviceAnnouncement device)
 {
     var locations = device.Locations.GetEnumerator ();
     locations.MoveNext ();
     return new RawXmlInfo (new Uri (locations.Current));
 }
 public Gtk.Widget ProvideInfo (DeviceAnnouncement device)
 {
     return new DeviceAnnouncementInfo (device);
 }
 public Gtk.Widget ProvideInfo(DeviceAnnouncement device)
 {
     return(new DeviceDescriptionInfo(device.GetDevice()));
 }
 internal DeviceEventArgs(DeviceAnnouncement device, UpnpOperation operation)
 {
     this.device = device;
     this.operation = operation;
 }
Example #13
0
 public Gtk.Widget ProvideInfo(DeviceAnnouncement device)
 {
     return(new DeviceAnnouncementInfo(device));
 }