home *** CD-ROM | disk | FTP | other *** search
Visual Basic class definition | 1999-05-27 | 6.7 KB | 220 lines |
- VERSION 1.0 CLASS
- BEGIN
- MultiUse = -1 'True
- Persistable = 0 'NotPersistable
- DataBindingBehavior = 0 'vbNone
- DataSourceBehavior = 0 'vbNone
- MTSTransactionMode = 0 'NotAnMTSObject
- END
- Attribute VB_Name = "CSheriff"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = True
- Attribute VB_PredeclaredId = False
- Attribute VB_Exposed = False
- Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
- Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
- 'local variable(s) to hold property value(s)
- Private m_hLicence As Long 'local copy
- Private m_lLastError As Long 'local copy
- Private m_strUserName As String 'local copy
- Private m_strProductID As String 'local copy
- Private m_arySecrets As SLS_SECRET
- Private m_bSecretsSet As Boolean
-
-
- Public Function Create(ByVal strProductID As String, ByVal strUserName As String) As Boolean
- m_strProductID = strProductID
- m_strUserName = strUserName
- m_bSecretsSet = False
- Create = True
- End Function
-
- Public Function Destroy() As Boolean
- Destroy = True
- End Function
-
- Public Function Register(ByVal strProductName As String, ByVal strLicencePath As String) As Boolean
- m_lLastError = SLS_Register(m_strProductID, strProductName, strLicencePath)
- Register = Succeeded()
- End Function
-
- Public Function Request() As Boolean
- Dim vRequest As SLS_REQUEST
- Dim vPermit As SLS_PERMIT
- Dim vChallenge As SLS_CHALLENGE
-
- vRequest.UnitsReserved = 0
- vPermit.AccessKey = 0
- vPermit.UnitsGranted = 0
-
- If (m_bSecretsSet = True) Then
- 'Create Challenge
- m_lLastError = SLS_CreateChallenge(m_arySecrets, 4, vRequest, 4, vChallenge)
- If (Succeeded() = False) Then
- Request = False
- Exit Function
- End If
- m_lLastError = SLS_REQUEST(m_strProductID, m_strUserName, vRequest, vPermit, m_hLicence, vChallenge)
- If (Succeeded() = True) Then
- 'Verify Challenge
- m_lLastError = SLS_VerifyChallenge(m_arySecrets, 4, vPermit, 8, vChallenge)
- End If
- Request = Succeeded()
- Exit Function
- End If
-
- vChallenge.Protocol = SLS_NO_PROTOCOL
- m_lLastError = SLS_REQUEST(m_strProductID, m_strUserName, vRequest, vPermit, m_hLicence, vChallenge)
- Request = Succeeded()
- End Function
-
- Public Function Update() As Boolean
- Dim vUpdate As SLS_UPDATE
- Dim vPermit As SLS_PERMIT
- Dim vChallenge As SLS_CHALLENGE
-
- vUpdate.UnitsConsumed = 0
- vUpdate.UnitsReserved = 0
-
- If (m_bSecretsSet = True) Then
- 'Create Challenge
- m_lLastError = SLS_CreateChallenge(m_arySecrets, 4, vUpdate, 8, vChallenge)
- If (Succeeded() = False) Then
- Update = False
- Exit Function
- End If
- m_lLastError = SLS_UPDATE(m_strProductID, m_hLicence, vUpdate, vPermit, vChallenge)
- If (Succeeded() = True) Then
- 'Verify Challenge
- m_lLastError = SLS_VerifyChallenge(m_arySecrets, 4, vPermit, 8, vChallenge)
- End If
- Update = Succeeded()
- Exit Function
- End If
-
- vChallenge.Protocol = SLS_NO_PROTOCOL
- m_lLastError = SLS_UPDATE(m_strProductID, m_hLicence, vUpdate, vPermit, vChallenge)
- Update = Succeeded()
- End Function
-
- Public Function Releases() As Boolean
- Dim vRelease As SLS_RELEASE
- Dim vChallenge As SLS_CHALLENGE
-
- vRelease.UnitsConsumed = 0
- vChallenge.Protocol = SLS_NO_PROTOCOL
-
- If (m_bSecretsSet = True) Then
- 'Create Challenge
- m_lLastError = SLS_CreateChallenge(m_arySecrets, 4, vRelease, 4, vChallenge)
- End If
-
- m_lLastError = SLS_RELEASE(m_strProductID, m_hLicence, vRelease, vChallenge)
- Releases = Succeeded()
- End Function
-
- Public Function GetReference(strReference As String) As Boolean
- m_lLastError = SLS_GetReference(m_strProductID, strReference)
- GetReference = Succeeded()
- End Function
-
- Public Function SetLicence(ByVal strReference, ByVal strLicence As String) As Boolean
- m_lLastError = SLS_SetLicence(m_strProductID, strReference, strLicence)
- SetLicence = Succeeded()
- End Function
-
- Public Function GetLastError() As Long
- GetLastError = m_lLastError
- End Function
-
- Public Function GetLastErrorMessage(strErrorMsg As String) As Boolean
- m_lLastError = SLS_GetErrorMessage(m_lLastError, strErrorMsg)
- GetLastErrorMessage = Succeeded()
- End Function
-
- Public Function Succeeded() As Boolean
- Succeeded = (m_lLastError = 0)
- End Function
-
- Public Sub SetSecrets(Secrets As Variant)
- Dim nIdx As Integer
- nIdx = 0
- For i = 0 To 3
- For j = 0 To 17
- m_arySecrets.Secret(nIdx) = Secrets(i * 18 + j)
- nIdx = nIdx + 1
- Next j
- For j = 18 To 31
- m_arySecrets.Secret(nIdx) = 0
- nIdx = nIdx + 1
- Next j
-
- Next i
- m_bSecretsSet = True
- End Sub
- Public Function SetOptions(ByVal HeartbeatTime As Long, ByVal ReclaimTime As Long) As Boolean
-
- If (m_bSecretsSet = False) Then
- m_lLastError = SLS_E_BAD_SECRET
- SetOptions = False
- End If
-
- Dim vOptions As SLS_OPTIONS
- vOptions.HeartbeatTime = HeartbeatTime
- vOptions.ReclaimTime = ReclaimTime
- vOptions.Reserved1 = 0
- vOptions.Reserved2 = 0
-
- Dim vChallenge As SLS_CHALLENGE
-
- 'Create Challenge
- m_lLastError = SLS_CreateChallenge(m_arySecrets, 4, vOptions, 16, vChallenge)
- If (Succeeded() = False) Then
- SetOptions = False
- Exit Function
- End If
- m_lLastError = SLS_SetOptions(m_strProductID, m_hLicence, vOptions, vChallenge)
- SetOptions = Succeeded()
-
- End Function
- Public Function License(ByVal lDays As Long) As Boolean
-
- If (m_bSecretsSet = False) Then
- m_lLastError = SLS_E_BAD_SECRET
- License = False
- End If
-
- Dim vLicence As SLS_LICENCE
- vLicence.AccessKey = 0
- vLicence.CoUsers = 1
- vLicence.Meter = lDays
- vLicence.EndDate.Year = 0
- vLicence.EndDate.Month = 0
- vLicence.EndDate.Day = 0
- vLicence.Type = SLS_TYPE_TIME_METER + SLS_TYPE_CONCURRENCY
-
- Dim vChallenge As SLS_CHALLENGE
-
- 'Create Challenge
- m_lLastError = SLS_CreateChallenge(m_arySecrets, 4, vLicence, 28, vChallenge)
- If (Succeeded() = False) Then
- License = False
- Exit Function
- End If
- m_lLastError = SLS_License(m_strProductID, vLicence, vChallenge)
- License = Succeeded()
-
- End Function
-
- Public Function IsProductInstalled() As Boolean
- m_lLastError = SLS_IsProductInstalled(m_strProductID)
- IsProductInstalled = Succeeded()
- End Function
-
- Public Function IsProductLicensed() As Boolean
- m_lLastError = SLS_IsProductLicensed(m_strProductID)
- IsProductLicensed = Succeeded()
- End Function
-
-
-