VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Caop4vbController"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
' ==============================================================================
'   Caop4vbController implementation ver 1.0
'
'   NOTES:
'   - Don't change this class name, Caop4vbController.
'
' ==============================================================================
Option Explicit

Implements CaoProv4VB.ICaop4vbController

Private m_queMsg As New Collection


' ------------------------------------------------------------------------------
'   Constructor / Destructor
' ------------------------------------------------------------------------------

' Constructor
Private Sub Class_Initialize()

End Sub

' Destructor
Private Sub Class_Terminate()

End Sub


' ------------------------------------------------------------------------------
'   ICaop4vbController Implementation
' ------------------------------------------------------------------------------

' Connect
'
' pVal(0): [in] strName As String
' pVal(1): [in] strOption As String
' pVal(2): [in, out] bTimer As Boolean
' pVal(3): [in, out] bInterVal As Boolean
Private Sub ICaop4vbController_FinalConnect(pVal As Variant)

End Sub

' Disconnect
Private Sub ICaop4vbController_FinalDisconnect()

End Sub

' Execute Custom command
Private Function ICaop4vbController_FinalExecute(ByVal bstrCommand As String, ByVal vntParam As Variant) As Variant

End Function

' Get Attribute
Private Function ICaop4vbController_FinalGetAttribute() As Long

End Function

' Get Help string
Private Function ICaop4vbController_FinalGetHelp() As String

End Function

' Get Caop4vbCommand name list
Private Function ICaop4vbController_FinalGetCommandNames(ByVal bstrOption As String) As Variant

End Function

' Get Caop4vbExtension name list
Private Function ICaop4vbController_FinalGetExtensionNames(ByVal bstrOption As String) As Variant

End Function

' Get Caop4vbFile name list
Private Function ICaop4vbController_FinalGetFileNames(ByVal bstrOption As String) As Variant

End Function

' Get Caop4vbRobot name list
Private Function ICaop4vbController_FinalGetRobotNames(ByVal bstrOption As String) As Variant

End Function

' Get Caop4vbTask name list
Private Function ICaop4vbController_FinalGetTaskNames(ByVal bstrOption As String) As Variant

End Function

' Get Caop4vbVariable name list
Private Function ICaop4vbController_FinalGetVariableNames(ByVal bstrOption As String) As Variant

End Function

' Get ID
Private Function ICaop4vbController_FinalGetID() As Variant

End Function

' Put ID
Private Sub ICaop4vbController_FinalPutID(ByVal newpVal As Variant)

End Sub

' Get Caop4vbMessage
Private Function ICaop4vbController_GetMessage() As CaoProv4VB.ICaop4vbMessage

    If m_queMsg.Count > 0 Then
        Set ICaop4vbController_GetMessage = m_queMsg(1)
        m_queMsg.Remove 1
    End If

End Function


' ------------------------------------------------------------------------------
'   Public Functions
' ------------------------------------------------------------------------------

' Create and Push a message
Public Sub CreateMessage(pVal As Variant)

    Dim oMsg As CaoProv4VB.ICaop4vbMessage
    
    Set oMsg = New Caop4vbMessage
    oMsg.FinalInitialize pVal

    m_queMsg.Add oMsg

End Sub


' ------------------------------------------------------------------------------
'   Private Functions
' ------------------------------------------------------------------------------


