VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Caop4vbVariable"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
' ==============================================================================
'   Caop4vbVariable implementation ver 1.0
'
'   NOTES:
'   - Don't change this class name, Caop4vbVariable.
'
' ==============================================================================
Option Explicit

Implements CaoProv4VB.ICaop4vbVariable

Private m_varName As String
Private m_fDeg As Single

' ------------------------------------------------------------------------------
'   Constructor / Destructor
' ------------------------------------------------------------------------------

' Constructor
Private Sub Class_Initialize()

End Sub

' Destructor
Private Sub Class_Terminate()

End Sub


' ------------------------------------------------------------------------------
'   ICaop4vbVariable Implementation
' ------------------------------------------------------------------------------

' Initialize
'
' pVal(0): [in] lParentType As Long
' pVal(1): [in] objParent As Object
' pVal(2): [in] strName As String
' pVal(3): [in] strOption As String
Private Sub ICaop4vbVariable_FinalInitialize(pVal As Variant)

    m_varName = LCase(pVal(2))
    m_fDeg = 0
    
End Sub

' Terminate
Private Sub ICaop4vbVariable_FinalTerminate()

End Sub

' Get Attribute
Private Function ICaop4vbVariable_FinalGetAttribute() As Long

End Function

' Get Help string
Private Function ICaop4vbVariable_FinalGetHelp() As String

End Function

' Get Time stamp (DateTime)
Private Function ICaop4vbVariable_FinalGetDateTime() As Variant

End Function

' Get Value
Private Function ICaop4vbVariable_FinalGetValue() As Variant

    Select Case m_varName
    Case "rnd"
        ICaop4vbVariable_FinalGetValue = Rnd()
        
    Case "deg"
        ICaop4vbVariable_FinalGetValue = m_fDeg
    
    Case Else
        Err.Raise 5
    
    End Select
    
End Function

' Put Value
Private Sub ICaop4vbVariable_FinalPutValue(ByVal newVal As Variant)

    Select Case m_varName
    Case "deg"
        m_fDeg = CSng(newVal)
    
    Case Else
        Err.Raise 5
    End Select
    
End Sub

' Get ID
Private Function ICaop4vbVariable_FinalGetID() As Variant

End Function

' Put ID
Private Sub ICaop4vbVariable_FinalPutID(ByVal newpVal As Variant)

End Sub

' Get Time stamp (Microsecond)
Private Sub ICaop4vbVariable_FinalGetMicrosecond(pVal As Long)

End Sub


' ------------------------------------------------------------------------------
'   Public Functions
' ------------------------------------------------------------------------------


' ------------------------------------------------------------------------------
'   Private Functions
' ------------------------------------------------------------------------------

