Public Enum E_ErrorCodes
    E00_Success = 0
    E01_Failed = -1
    E02_UnknownExceptions = -2
    E03_AccessDenied = -3
    E04_PortNotOpen = -4
    E05_Timeout = -5
End Enum

Public MustInherit Class Device
    Protected _connectionString As String
    Protected _timeout As Integer
    Protected _retries As Integer

    Public Property ConnectionString() As String
        Get
            Return _connectionString
        End Get
        Set(ByVal value As String)
            _connectionString = value
        End Set
    End Property

    Public MustOverride Property Timeout() As Integer
    Public MustOverride Property Retries() As Integer

    Public MustOverride Sub Open()
    Public MustOverride Sub Open(ByVal connectionString As String)
    Public MustOverride Sub Close()

End Class
