Monorepo/Modules.Windream/ConnectionBuilder.vb
2018-10-08 16:43:45 +02:00

52 lines
1.8 KiB
VB.net

Imports NLog
Imports DigitalData.Modules.Logging
Public Class ConnectionBuilder
Implements IConnectionBuilder
Private ReadOnly LogConfig As LogConfig
Private SessionReconnect As Boolean = False
Private DriveLetter As String = "W"
Private Support64Bit As Boolean = False
Private ServerName As String = Nothing
Private UserName As String = Nothing
Private Password As String = Nothing
Private Domain As String = Nothing
Public Sub New(LogConfig As LogConfig)
Me.LogConfig = LogConfig
End Sub
Public Function WithSessionReconnect() As IConnectionBuilder Implements IConnectionBuilder.WithSessionReconnect
SessionReconnect = True
Return Me
End Function
Public Function WithDriveLetter(driveLetter As String) As IConnectionBuilder Implements IConnectionBuilder.WithDriveLetter
Me.DriveLetter = driveLetter
Return Me
End Function
Public Function With64BitSupport() As IConnectionBuilder Implements IConnectionBuilder.With64BitSupport
Support64Bit = True
Return Me
End Function
Public Function WithServerName(serverName As String) As IConnectionBuilder Implements IConnectionBuilder.WithServerName
Me.ServerName = serverName
Return Me
End Function
Public Function WithImpersonation(userName As String, password As String, domain As String) As IConnectionBuilder Implements IConnectionBuilder.WithImpersonation
Me.UserName = userName
Me.Password = password
Me.Domain = domain
Return Me
End Function
Public Function Connect() As Windream2 Implements IConnectionBuilder.Connect
Return New Windream2(LogConfig, SessionReconnect, DriveLetter, Support64Bit, ServerName, UserName, Password, Domain)
End Function
End Class