SMBeat.psm1

#Requires -Version 5.1

Set-StrictMode -Version Latest

$script:SMBeatModuleRoot = $PSScriptRoot
$script:SMBeatInvariant = [System.Globalization.CultureInfo]::InvariantCulture
$script:SMBeatTaskName = 'SMBeat-Collector'
$script:SMBeatTaskPath = '\'
$script:SMBeatDefaultIntervalSec = 60
$script:SMBeatDefaultRetentionDays = 90
$script:SMBeatPollSec = 1
$script:SMBeatUtf8NoBom = New-Object System.Text.UTF8Encoding $false

$privateDir = Join-Path $PSScriptRoot 'Private'
$publicDir = Join-Path $PSScriptRoot 'Public'

Get-ChildItem -Path $privateDir -Filter '*.ps1' -ErrorAction Stop | Sort-Object Name | ForEach-Object {
    . $_.FullName
}

Get-ChildItem -Path $publicDir -Filter '*.ps1' -ErrorAction Stop | Sort-Object Name | ForEach-Object {
    . $_.FullName
}

Export-ModuleMember -Function @(
    'Invoke-SMBeatSample'
    'Install-SMBeat'
    'Uninstall-SMBeat'
    'Register-SMBeatCollector'
    'Unregister-SMBeatCollector'
    'Start-SMBeatCollector'
    'Stop-SMBeatCollector'
    'Get-SMBeatStatus'
    'Test-SMBeatCollector'
    'Get-SMBeatReport'
    'Export-SMBeatReport'
    'Watch-SMBeatCollector'
)