
'=========================================================================
'クラス名称：プロバイダ情報管理クラス
'機能      ：プロバイダの接続情報を管理する
'備考      ：なし
'=========================================================================
Public Class ProviderInfo
    Private Shared singleton As ProviderInfo = New ProviderInfo

    ' 接続プロバイダ名
    Private m_strProviderName As String
    ' 接続プロバイダのProgID
    Private m_strProviderID As String
    ' プロバイダの起動コンピュータ名(DCOM利用時)
    Private m_strProviderMachine As String
    ' プロバイダの接続パラメータ
    Private m_strProviderParam As String

    ' プロバイダ名のプロパティ
    Public Property provName() As String
        Get
            Return m_strProviderName
        End Get
        Set(ByVal Value As String)
            m_strProviderName = Value
        End Set
    End Property

    ' プロバイダIDのプロパティ
    Public Property provID() As String
        Get
            Return m_strProviderID
        End Get
        Set(ByVal Value As String)
            m_strProviderID = Value
        End Set
    End Property

    ' プロバイダ起動マシン名のプロパティ
    Public Property provMachine() As String
        Get
            Return m_strProviderMachine
        End Get
        Set(ByVal Value As String)
            m_strProviderMachine = Value
        End Set
    End Property

    ' プロバイダ接続パラメータのプロパティ
    Public Property provParam() As String
        Get
            Return m_strProviderParam
        End Get
        Set(ByVal Value As String)
            m_strProviderParam = Value
        End Set
    End Property

    '*********************************************************************
    '関数名称  ：コンストラクタ(外部からのアクセス不可)
    '機能      ：各種プロバイダ情報の初期化
    '引数      ：なし
    '戻り値    ：なし
    '備考      ：なし
    '*********************************************************************
    Private Sub New()
        m_strProviderName = "camera"
        m_strProviderID = "CaoProv.Samples.Camera"
        m_strProviderMachine = ""
        m_strProviderParam = ""
    End Sub

    '*********************************************************************
    '関数名称  ：インスタンスの取得
    '機能      ：唯一のインスタンスを取得する
    '引数      ：なし
    '戻り値    ：ProviderInfo : インスタンス
    '備考      ：なし
    '*********************************************************************
    Public Shared Function GetInstance() As ProviderInfo
        Return singleton
    End Function


End Class
