74 lines
1.6 KiB
OpenEdge ABL
74 lines
1.6 KiB
OpenEdge ABL
![]() |
VERSION 1.0 CLASS
|
||
|
BEGIN
|
||
|
MultiUse = -1 'True
|
||
|
END
|
||
|
Attribute VB_Name = "API_DistrManifest"
|
||
|
Attribute VB_GlobalNameSpace = False
|
||
|
Attribute VB_Creatable = False
|
||
|
Attribute VB_PredeclaredId = False
|
||
|
Attribute VB_Exposed = False
|
||
|
' ======== Products distribution manifest ========
|
||
|
' Shared module version: 20220814
|
||
|
' Tested in:
|
||
|
' Depends on: API_JSON
|
||
|
' Required reference: Scripting, ex_Version
|
||
|
Option Explicit
|
||
|
|
||
|
Private Const MANIFEST_JSON_IDENT = 4
|
||
|
|
||
|
Public data_ As Scripting.Dictionary
|
||
|
Private parser_ As New API_JSON
|
||
|
Private file_ As String
|
||
|
|
||
|
Private Sub Class_Initialize()
|
||
|
Call parser_.SetupMultiline(MANIFEST_JSON_IDENT)
|
||
|
End Sub
|
||
|
|
||
|
Public Function LoadFrom(sFile$)
|
||
|
file_ = sFile
|
||
|
Set data_ = parser_.LoadFromFile(file_)
|
||
|
If data_ Is Nothing Then _
|
||
|
Set data_ = New Scripting.Dictionary
|
||
|
End Function
|
||
|
|
||
|
Public Function LoadServer()
|
||
|
Call LoadFrom(CP_TOOLS_SERVER & "\" & FILE_DISTRIBUTION_MANIFEST)
|
||
|
End Function
|
||
|
|
||
|
Public Function LoadLocal()
|
||
|
Call LoadFrom(CP_TOOLS_LOCAL & "\" & FILE_DISTRIBUTION_MANIFEST)
|
||
|
End Function
|
||
|
|
||
|
Public Function IsLoaded() As Boolean
|
||
|
IsLoaded = False
|
||
|
|
||
|
If data_ Is Nothing Then _
|
||
|
Exit Function
|
||
|
If data_.Count = 0 Then _
|
||
|
Exit Function
|
||
|
|
||
|
IsLoaded = True
|
||
|
End Function
|
||
|
|
||
|
Public Function Reload()
|
||
|
Call LoadFrom(file_)
|
||
|
End Function
|
||
|
|
||
|
Public Function SetVersion(sProduct$, sVersion$)
|
||
|
data_(sProduct) = sVersion
|
||
|
End Function
|
||
|
|
||
|
Public Function GetVersion(sProduct$) As String
|
||
|
If Not data_.Exists(sProduct) Then _
|
||
|
Exit Function
|
||
|
GetVersion = data_(sProduct)
|
||
|
End Function
|
||
|
|
||
|
Public Function Save() As Boolean
|
||
|
Save = SaveTo(file_)
|
||
|
End Function
|
||
|
|
||
|
Public Function SaveTo(sFile$) As Boolean
|
||
|
SaveTo = parser_.SaveToFile(sFile, data_)
|
||
|
End Function
|