Logeto.psm1

$ScriptDir = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent

. ($ScriptDir + "./Global.ps1")
. ($ScriptDir + "./Terminal.ps1")
. ($ScriptDir + "./TerminalService.ps1")

<#
    Install any Logeto product
#>

function Install-LogetoProduct
{
    Param(
        [parameter(Mandatory=$true)]
        [ValidateSet('logeto-terminal', 'logeto-terminal-service')]
        $ProductName
    )

    Write-LogetoProgress "Installing Logeto product $ProductName." "Install-LogetoProduct"

    if ($ProductName -eq 'logeto-terminal')
    {
        Install-LogetoTerminal (Get-LogetoTerminalUpdateInfo) $ProductName
    }
    elseif ($ProductName -eq 'logeto-terminal-service')
    {
        Install-LogetoTerminalService (Get-LogetoTerminalServiceUpdateInfo) $ProductName
    }
}

<#
    Uninstall any Logeto product
#>

function Uninstall-LogetoProduct
{
    Param(
        [parameter(Mandatory=$true)]
        [ValidateSet('logeto-terminal', 'logeto-terminal-service')]
        $ProductName
    )

    Write-LogetoProgress "Uninstalling Logeto product $ProductName." "Uninstall-LogetoProduct"

    if ($ProductName -eq 'logeto-terminal')
    {
        Uninstall-LogetoTerminal $ProductName
    }
    elseif ($ProductName -eq 'logeto-terminal-service')
    {
        Uninstall-LogetoTerminalService $ProductName
    }
}

<#
    Install any Logeto product
#>

function Set-LogetoProductEnvironment
{
    Param(
        [parameter(Mandatory=$true)]
        [ValidateSet('logeto-terminal', 'logeto-terminal-service')]
        $ProductName,
        [parameter(Mandatory=$true)]
        [ValidateSet('BeforeInstall', 'AfterInstall')]
        $WhenExecute
    )

    Write-LogetoProgress "Setting Logeto product environment for $ProductName." "Set-LogetoProductEnvironment"

    if ($ProductName -eq 'logeto-terminal')
    {
        Set-LogetoTerminalPrepareEnvironment $ProductName $WhenExecute
    }
    elseif ($ProductName -eq 'logeto-terminal-service')
    {
        Set-LogetoTerminalServicePrepareEnvironment $ProductName $WhenExecute
    }
}