# Need to know where our script is so we can use full path to all our dependent files.
$InvocationPath = Split-Path -Path $MyInvocation.MyCommand.Path -Parent

function Invoke-SimBattCtl {
param (
    [parameter(Mandatory=$true)][string]$StageMessage,
    [parameter(Mandatory=$true)][string]$Option,
    [parameter(Mandatory=$true)][string]$LogsPath,
    [parameter(Mandatory=$false)][bool]$ThrowOnError = $true
)
    $SimBattCtlOut = "$LogsPath\sim_batt_ctl_$(($Option).SubString(1))_out.txt"
    cmd.exe /c "`".\simbattctl.exe`" $Option" | Set-Content "$SimBattCtlOut"
    if (-not $?)
    {
        Add-Content -Path $SimBattCtlOut "`nabove error return $? in stage $StageMessage"
        $err = Get-Content -Path $SimBattCtlOut

        if ($ThrowOnError)
        {
            throw "$err"
        }
        else
        {
            return "$err"
        }
    }
}

Export-ModuleMember -Function Invoke-SimBattCtl
