private void BuildFilters(RemoteSystemDiscoveryTypeFilter discoveryFilter, RemoteSystemAuthorizationKindFilter authorizationKindFilter, RemoteSystemStatusTypeFilter statusFilter) { var filters = new List <IRemoteSystemFilter>(); if (discoveryFilter != null) { filters.Add(discoveryFilter); } if (authorizationKindFilter != null) { filters.Add(authorizationKindFilter); } if (statusFilter != null) { filters.Add(statusFilter); } var remoteDeviceHelper = new RemoteDeviceHelper(filters); RemoteSystems = remoteDeviceHelper.RemoteSystems; UpdateProgressRing(true); UpdateList(); }
// <SnippetMakeFilterList> private List <IRemoteSystemFilter> makeFilterList() { // construct an empty list List <IRemoteSystemFilter> localListOfFilters = new List <IRemoteSystemFilter>(); // construct a discovery type filter that only allows "proximal" connections: RemoteSystemDiscoveryTypeFilter discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Proximal); // construct a device type filter that only allows desktop and mobile devices: // For this kind of filter, we must first create an IIterable of strings representing the device types to allow. // These strings are stored as static read-only properties of the RemoteSystemKinds class. List <String> listOfTypes = new List <String>(); listOfTypes.Add(RemoteSystemKinds.Desktop); listOfTypes.Add(RemoteSystemKinds.Phone); // Put the list of device types into the constructor of the filter RemoteSystemKindFilter kindFilter = new RemoteSystemKindFilter(listOfTypes); // construct an availibility status filter that only allows devices marked as available: RemoteSystemStatusTypeFilter statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Available); // add the 3 filters to the listL localListOfFilters.Add(discoveryFilter); localListOfFilters.Add(kindFilter); localListOfFilters.Add(statusFilter); // return the list return(localListOfFilters); }
private void Filters_SelectionChanged(object sender, SelectionChangedEventArgs e) { _discoveryFilter = new RemoteSystemDiscoveryTypeFilter((RemoteSystemDiscoveryType)Enum.Parse(typeof(RemoteSystemDiscoveryType), _deviceDiscovery?.SelectedValue.ToString())); _authorizationKindFilter = new RemoteSystemAuthorizationKindFilter((RemoteSystemAuthorizationKind)Enum.Parse(typeof(RemoteSystemAuthorizationKind), _authorizationType?.SelectedValue.ToString())); _statusFilter = new RemoteSystemStatusTypeFilter((RemoteSystemStatusType)Enum.Parse(typeof(RemoteSystemStatusType), _deviceStatus?.SelectedValue.ToString())); BuildFilters(_discoveryFilter, _authorizationKindFilter, _statusFilter); }
/// <summary> /// Initializes a new instance of the <see cref="RemoteDevicePicker"/> class with filters. /// </summary> public RemoteDevicePicker(RemoteSystemDiscoveryType remoteSystemDiscoveryType, RemoteSystemAuthorizationKind remoteSystemAuthorizationKind, RemoteSystemStatusType remoteSystemStatusType) { DefaultStyleKey = typeof(RemoteDevicePicker); RemoteSystems = new ObservableCollection <RemoteSystem>(); PrimaryButtonClick += RemoteDevicePicker_PrimaryButtonClick; _discoveryFilter = new RemoteSystemDiscoveryTypeFilter(remoteSystemDiscoveryType); _authorizationKindFilter = new RemoteSystemAuthorizationKindFilter(remoteSystemAuthorizationKind); _statusFilter = new RemoteSystemStatusTypeFilter(remoteSystemStatusType); }
private List <IRemoteSystemFilter> BuildDeviceFilter() { // construct an empty list var localListOfFilters = new List <IRemoteSystemFilter>(); // construct a discovery type filter that only allows "proximal" connections: RemoteSystemDiscoveryTypeFilter discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Proximal); // construct an availibility status filter that only allows devices marked as available. RemoteSystemStatusTypeFilter statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Available); // add the 3 filters to the listL //localListOfFilters.Add(discoveryFilter); localListOfFilters.Add(statusFilter); // return the list return(localListOfFilters); }
private List<IRemoteSystemFilter> BuildDeviceFilter() { // construct an empty list var localListOfFilters = new List<IRemoteSystemFilter>(); // construct a discovery type filter that only allows "proximal" connections: RemoteSystemDiscoveryTypeFilter discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Proximal); // construct an availibility status filter that only allows devices marked as available. RemoteSystemStatusTypeFilter statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Available); // add the 3 filters to the listL //localListOfFilters.Add(discoveryFilter); localListOfFilters.Add(statusFilter); // return the list return localListOfFilters; }
private static List <IRemoteSystemFilter> MakeFilterList() { // construct an empty list var localListOfFilters = new List <IRemoteSystemFilter>(); // construct a discovery type filter that only allows "proximal" connections: var discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Any); // construct a device type filter that only allows desktop and mobile devices: // For this kind of filter, we must first create an IIterable of strings representing the device types to allow. // These strings are stored as static read-only properties of the RemoteSystemKinds class. var listOfTypes = new List <string> { RemoteSystemKinds.Desktop, RemoteSystemKinds.Holographic, RemoteSystemKinds.Hub, RemoteSystemKinds.Laptop, RemoteSystemKinds.Tablet, RemoteSystemKinds.Xbox }; // Put the list of device types into the constructor of the filter var kindFilter = new RemoteSystemKindFilter(listOfTypes); // construct an availibility status filter that only allows devices marked as available: var statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Available); // add the 3 filters to the list localListOfFilters.Add(discoveryFilter); localListOfFilters.Add(kindFilter); localListOfFilters.Add(statusFilter); // return the list return(localListOfFilters); }
/// <summary> /// Initiate Enumeration with specific RemoteSystemStatusType /// </summary> private void GenerateSystemsByFilters(RemoteSystemStatusType remoteSystemStatusType, RemoteSystemAuthorizationKind remoteSystemAuthorizationKind, RemoteSystemDiscoveryType remoteSystemDiscoveryType) { var remoteSystemStatusTypeFilter = new RemoteSystemStatusTypeFilter(remoteSystemStatusType); var remoteSystemDiscoveryTypeFilter = new RemoteSystemDiscoveryTypeFilter(remoteSystemDiscoveryType); var remoteSystemAuthorizationKindFilter = new RemoteSystemAuthorizationKindFilter(remoteSystemAuthorizationKind); var filters = new List <IRemoteSystemFilter>(); if (remoteSystemStatusTypeFilter != null) { filters.Add(remoteSystemStatusTypeFilter); } if (remoteSystemDiscoveryTypeFilter != null) { filters.Add(remoteSystemDiscoveryTypeFilter); } if (remoteSystemAuthorizationKindFilter != null) { filters.Add(remoteSystemAuthorizationKindFilter); } GenerateSystemsWithFilterAsync(filters); }
private List <IRemoteSystemFilter> BuildFilters() { List <IRemoteSystemFilter> filters = new List <IRemoteSystemFilter>(); RemoteSystemDiscoveryTypeFilter discoveryFilter; RemoteSystemAuthorizationKindFilter authorizationKindFilter; List <string> kinds = new List <string>(); RemoteSystemStatusTypeFilter statusFilter; if (DiscoveryTypeOptions.IsChecked.Value) { // Build discovery type filters if (ProximalRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Proximal); } else if (CloudRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Cloud); } else if (SpatiallyProximalRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.SpatiallyProximal); } else { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Any); } filters.Add(discoveryFilter); } if (AuthorizationTypeOptions.IsChecked.Value) { // Build authorization type filters if (AnonymousDiscoveryRadioButton.IsChecked.Value) { authorizationKindFilter = new RemoteSystemAuthorizationKindFilter(RemoteSystemAuthorizationKind.Anonymous); } else { authorizationKindFilter = new RemoteSystemAuthorizationKindFilter(RemoteSystemAuthorizationKind.SameUser); } filters.Add(authorizationKindFilter); } if (SystemTypeOptions.IsChecked.Value) { // Build system type filters if (DesktopCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Desktop); } if (TabletCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Tablet); } if (LaptopCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Laptop); } if (IotCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Iot); } if (HolographicCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Holographic); } if (HubCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Hub); } if (PhoneCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Phone); } if (XboxCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Xbox); } if (kinds.Count == 0) { UpdateStatus("Select a system type filter.", NotifyType.ErrorMessage); } else { RemoteSystemKindFilter kindFilter = new RemoteSystemKindFilter(kinds); filters.Add(kindFilter); } } if (StatusTypeOptions.IsChecked.Value) { // Build status type filters if (AvailableRadioButton.IsChecked.Value) { statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Available); } else { statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Any); } filters.Add(statusFilter); } return(filters); }
private List<IRemoteSystemFilter> BuildFilters() { List<IRemoteSystemFilter> filters = new List<IRemoteSystemFilter>(); RemoteSystemDiscoveryTypeFilter discoveryFilter; List<string> kinds = new List<string>(); RemoteSystemStatusTypeFilter statusFilter; if (DiscoveryTypeOptions.IsChecked.Value) { // Build discovery type filters if (ProximalRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Proximal); } else if (CloudRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Cloud); } else { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Any); } filters.Add(discoveryFilter); } if (DeviceTypeOptions.IsChecked.Value) { // Build device type filters if (DesktopCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Desktop); } if (HolographicCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Holographic); } if (HubCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Hub); } if (PhoneCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Phone); } if (XboxCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Xbox); } if (kinds.Count == 0) { UpdateStatus("Select a Device type filter.", NotifyType.ErrorMessage); } else { RemoteSystemKindFilter kindFilter = new RemoteSystemKindFilter(kinds); filters.Add(kindFilter); } } if (StatusTypeOptions.IsChecked.Value) { // Build status type filters if (AvailableRadioButton.IsChecked.Value) { statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Available); } else { statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Any); } filters.Add(statusFilter); } return filters; }
private List <IRemoteSystemFilter> BuildFilters() { List <IRemoteSystemFilter> filters = new List <IRemoteSystemFilter>(); RemoteSystemDiscoveryTypeFilter discoveryFilter; List <string> kinds = new List <string>(); RemoteSystemStatusTypeFilter statusFilter; if (DiscoveryTypeOptions.IsChecked.Value) { // Build discovery type filters if (ProximalRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Proximal); } else if (CloudRadioButton.IsChecked.Value) { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Cloud); } else { discoveryFilter = new RemoteSystemDiscoveryTypeFilter(RemoteSystemDiscoveryType.Any); } filters.Add(discoveryFilter); } if (DeviceTypeOptions.IsChecked.Value) { // Build device type filters if (DesktopCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Desktop); } if (HolographicCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Holographic); } if (HubCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Hub); } if (PhoneCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Phone); } if (XboxCheckBox.IsChecked.Value) { kinds.Add(RemoteSystemKinds.Xbox); } if (kinds.Count == 0) { UpdateStatus("Select a Device type filter.", NotifyType.ErrorMessage); } else { RemoteSystemKindFilter kindFilter = new RemoteSystemKindFilter(kinds); filters.Add(kindFilter); } } if (StatusTypeOptions.IsChecked.Value) { // Build status type filters if (AvailableRadioButton.IsChecked.Value) { statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Available); } else { statusFilter = new RemoteSystemStatusTypeFilter(RemoteSystemStatusType.Any); } filters.Add(statusFilter); } return(filters); }