Imports System.Runtime.Serialization

Public Interface ICustomService
    Property ServiceName As String
    Property Description() As String
    Sub Start()
    Sub [Stop]()
    Function GetStatus() As List(Of CustomServiceStatus)
    Function GetState() As CustomServiceState
    ReadOnly Property CanRestart As Boolean
    Function Restart() As Boolean
End Interface

<DataContract()>
Public Enum CustomServiceState
    <EnumMember()>
    Running
    <EnumMember()>
    Stopped
End Enum