Skip to content

Implement a more flexible filtering mechanism for inclusions/exclusions of types. #99

Description

@nichamp

It would be nice if filtering improvements could be made to support regular expressions or a better scheme if one exists instead of the current prefix matching as it can be inconvenient to include a minimal set of projections and these can quickly become incorrect if new types or nested namespaces are added later.

There is also the complexity around filtering interfaces since they are named differently than their corresponding class (though thankfully it is no longer necessary to name the factory or static interfaces too) such as including IConnectionProfile and ConnectionProfile below. In the example, I also explicitly don't want the newer IConnectionProfile interfaces as they aren't relevant to my scenario and I am attempting to minimize footprint.

For example, to include:

Windows::Networking::Connectivity::ConnectionCost
Windows::Networking::Connectivity::ConnectionProfile
Windows::Networking::Connectivity::NetworkInformation
Windows::Networking::Connectivity::NetworkConnectivityLevel
Windows::Networking::Connectivity::NetworkCostType

I have to do:

-include Windows.Networking.Connectivity.ConnectionCost
-include Windows.Networking.Connectivity.ConnectionProfile
-exclude Windows.Networking.Connectivity.IConnectionProfile2
-exclude Windows.Networking.Connectivity.IConnectionProfile3
-exclude Windows.Networking.Connectivity.IConnectionProfile4
-exclude Windows.Networking.Connectivity.IConnectionProfile5
-exclude Windows.Networking.Connectivity.ConnectionProfileDeleteStatus
-exclude Windows.Networking.Connectivity.ConnectionProfileFilter
-include Windows.Networking.Connectivity.IConnectionProfile
-exclude Windows.Networking.Connectivity.IConnectionProfileFilter
-include Windows.Networking.Connectivity.NetworkInformation
-include Windows.Networking.Connectivity.NetworkStatusChangedEventHandler
-include Windows.Networking.Connectivity.NetworkConnectivityLevel
-include Windows.Networking.Connectivity.NetworkCostType

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions