Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.ZooFlow
Imports ZooFlow.State

Namespace My
    ''' <summary>
    ''' Extends the My Namespace
    ''' Example: My.LogConfig
    ''' </summary>
    <HideModuleName()>
    Module Extension
        Property SystemConfigManager As ConfigManager(Of ClassConfig)
        ReadOnly Property SystemConfig As ClassConfig
            Get
                Return SystemConfigManager.Config
            End Get
        End Property

        Property UIConfigManager As ConfigManager(Of ClassUIConfig)
        ReadOnly Property UIConfig As ClassUIConfig
            Get
                Return UIConfigManager.Config
            End Get
        End Property

        Property LogConfig As LogConfig
        Property MainForm As frmAdmin
        Property Database As MSSQLServer
        Property Queries As New ClassQueries
    End Module

    ''' <summary>
    ''' Extends the My.Application Namespace to hold Application State
    ''' Example: My.Application.User
    ''' </summary>
    Partial Friend Class MyApplication
        Public Property Settings As New State.SettingsState
        Public Property User As New State.UserState
        Public Property Service As New State.ServiceState
        Public Property Modules As New Dictionary(Of String, State.ModuleState)
        Public Property ModulesActive As New List(Of String)
        Public Property ClipboardWatcher As New ClipboardWatcher.State
    End Class
End Namespace

