WifiConnectionAPI.psm1

<#
 .Synopsis
  Wifi
 .Description
  Manage Wifi connections
 .Parameter Get-RadioState
 .Parameter Set-RadioState
 .Parameter Get-WifiDeviceInformation
 .Parameter Get-WiFiAvailableAdapter
 .Parameter Get-WifiConnectionProfile
 .Parameter Remove-WifiConnectionProfile
 .Parameter Get-WifiCurrentConection
 .Parameter Get-WifiAvailableNetwork
 .Parameter Search-WifiNetworks
 .Parameter Disconnect-WifiNetwork
 .Parameter Connect-WiFiNetwork
#>


switch ($PSEdition) {
    'Core' {
        Add-Type -AssemblyName "PresentationFramework"

        $BinPath = Resolve-Path "$PSScriptRoot\Core\bin\"
    
        foreach ($dll in "WinRT.Runtime.dll", "Microsoft.Windows.SDK.NET.dll") {
            $Path = Join-Path $BinPath $dll
            if (Test-Path $Path) {
                Add-Type -Path $Path
            }
        }
        #Private
        . "$PSScriptRoot\Core\Private\Functions.ps1"
        . "$PSScriptRoot\Core\Private\ScriptBlocks.ps1"
        #Public
        #Connectivity
        . "$PSScriptRoot\Core\Public\Connectivity\Get-InternetConnectionCost.ps1"
        #Geolocation
        . "$PSScriptRoot\Core\Public\Geolocation\Request-LocationPermission.ps1"
        #Hotspot
        . "$PSScriptRoot\Core\Public\HotSpot\WifiHotSpot.ps1"
        #Radio
        . "$PSScriptRoot\Core\Public\Radio\Get-RadioState.ps1"
        . "$PSScriptRoot\Core\Public\Radio\Set-RadioState.ps1"
        #Wifi
        . "$PSScriptRoot\Core\Public\Wifi\Connect-WifiNetwork.ps1"
        . "$PsScriptRoot\Core\Public\Wifi\Connect-WifiNetworkWps.ps1"
        . "$PSScriptRoot\Core\Public\Wifi\Disconnect-WifiNetwork.ps1"
        . "$PSScriptRoot\Core\Public\Wifi\Get-WifiAvailableAdapters.ps1"
        . "$PSScriptRoot\Core\Public\Wifi\Get-WifiAvailableNetworks.ps1"
        . "$PSScriptRoot\Core\Public\Wifi\Get-WifiConnectionProfile.ps1"
        . "$PSScriptRoot\Core\Public\Wifi\Get-WifiCurrentConnection.ps1"
        . "$PsScriptRoot\Core\Public\Wifi\Get-WifiDeviceInformation.ps1"
        . "$PSScriptRoot\Core\Public\Wifi\Get-WifiNetworkWpsCapability.ps1"
        . "$psscriptRoot\Core\public\wifi\Remove-WiFiConnectionProfile.ps1"
        #Removed as stand alone function
        Set-Alias Search-WifiNetworks Get-WifiAvailableNetworks
break 
        #return
    }

    'Desktop' {
        ImportSystemModules

        . "$PSScriptRoot\Desktop\Private\ArgumentCompleters.ps1"
        . "$PSScriptRoot\Desktop\Private\Await.ps1"
        . "$PSScriptRoot\Desktop\Private\Functions.ps1"
        . "$PSScriptRoot\Desktop\Private\ScriptBlocks.ps1"
        . "$PSScriptRoot\Desktop\Public\Connectivity\Get-InternetConnectionCost.ps1"
        . "$PSScriptRoot\Desktop\Public\Geolocation\Request-LocationPermission.ps1"
        . "$PSScriptRoot\Desktop\Public\HotSpot\WifiHotSpot.ps1"
        . "$PSScriptRoot\Desktop\Public\Radio\Get-RadioState.ps1"
        . "$PSScriptRoot\Desktop\Public\Radio\Set-RadioState.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Connect-WifiNetwork.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Connect-WifiNetworkWps.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Disconnect-WifiNetwork.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Get-WiFiAvailableAdapter.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Get-WifiAvailableNetworks.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Get-WifiConnectionProfile.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Get-WifiCurrentConnection.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Get-WifiDeviceInformation.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Get-WifiNetworkWpsCapability.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Remove-WiFiConnectionProfile.ps1"
        . "$PSScriptRoot\Desktop\Public\Wifi\Search-WifiNetworks.ps1"
        break
    }
    default {
        Write-Warning "Unsupported PSEdition: $PSEdition"
    }
}

#Export-ModuleMember -Function @( $Public.BaseName )
<#Export-ModuleMember Get-RadioState
Export-ModuleMember Set-RadioState
Export-ModuleMember Get-WifiDeviceInformation
Export-Modulemember Get-WiFiAvailableAdapter
Export-ModuleMember Get-WifiAvailableNetworks
Export-ModuleMember Search-WifiNetworks
Export-ModuleMember Get-WifiConnectionProfile
Export-Modulemember Remove-WifiConnectionProfile
Export-ModuleMember Get-WifiCurrentConnection
Export-ModuleMember Disconnect-WifiNetwork
Export-ModuleMember Connect-WiFiNetwork
Export-ModuleMember Request-LocationPermission#>