Imports System.ComponentModel.Composition Imports Supervisor.Plugin.Interface Public Class SupervisorFunctions Implements IHost Public ReadOnly Property PluginTestInfo As Integer Implements IHost.PluginTestInfo Get Return Map.refMainWindowVM.m_PluginTestInfo End Get End Property Public Function PlgOutLog(sLogMsg As String) As Boolean Implements IHost.PlgOutLog Return EgtOutLog(sLogMsg) End Function Public Function PlgGetPrivateProfileInt(lpAppName As String, lpKeyName As String, nDefault As Integer, lpFileName As String) As Integer Implements IHost.PlgGetPrivateProfileInt Return GetPrivateProfileInt(lpAppName, lpKeyName, nDefault, lpFileName) End Function Public Function PlgGetPrivateProfileDouble(lpAppName As String, lpKeyName As String, dDefault As Double, lpFileName As String) As Double Implements IHost.PlgGetPrivateProfileDouble Return GetPrivateProfileDouble(lpAppName, lpKeyName, dDefault, lpFileName) End Function Public Function PlgGetPrivateProfileString(lpAppName As String, lpKeyName As String, lpDefault As String, ByRef lpString As String, lpFileName As String) As Integer Implements IHost.PlgGetPrivateProfileString Return GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, lpString, lpFileName) End Function Public Function PlgWritePrivateProfileString(lpAppName As String, lpKeyName As String, lpString As String, lpFileName As String) As Boolean Implements IHost.PlgWritePrivateProfileString Return WritePrivateProfileString(lpAppName, lpKeyName, lpString, lpFileName) End Function Public Function PlgExecProcess(sFileName As String, sMainLuaPath As String, sArguments As String) As Boolean Implements IHost.PlgExecProcess Return ExecProcessManager.ExecProcess(sFileName, sMainLuaPath, sArguments) End Function Public Function ComReadShortVar(nVarAddr As Integer, ByRef nResult As Short, nMachine As Integer) As Boolean Implements IHost.ComReadShortVar If Map.refMainWindowVM.MachineManager.MachineList.Count >= nMachine AndAlso Not IsNothing(Map.refMainWindowVM.MachineManager.MachineList(nMachine)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine).ReadShortVar(nVarAddr, nResult) Else Return False End If End Function Public Function ComReadBitVar(nVarAddr As Integer, nBit As Integer, ByRef bResult As Boolean, nMachine As Integer) As Boolean Implements IHost.ComReadBitVar If Map.refMainWindowVM.MachineManager.MachineList.Count >= nMachine AndAlso Not IsNothing(Map.refMainWindowVM.MachineManager.MachineList(nMachine)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine).ReadBitVar(nVarAddr, nBit, bResult) Else Return False End If End Function Public Function ComReadDoubleVar(nVarAddr As Integer, ByRef dResult As Double, nMachine As Integer) As Boolean Implements IHost.ComReadDoubleVar If Map.refMainWindowVM.MachineManager.MachineList.Count >= nMachine AndAlso Not IsNothing(Map.refMainWindowVM.MachineManager.MachineList(nMachine)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine).ReadDoubleVar(nVarAddr, dResult) Else Return False End If End Function Public Function ComWriteShortVar(nVarAddr As Integer, nValue As Integer, nMachine As Integer) As Boolean Implements IHost.ComWriteShortVar If Map.refMainWindowVM.MachineManager.MachineList.Count >= nMachine AndAlso Not IsNothing(Map.refMainWindowVM.MachineManager.MachineList(nMachine)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine).WriteShortVar(nVarAddr, nValue) Else Return False End If End Function Public Function ComWriteBitVar(nVarAddr As Integer, nBit As Integer, bValue As Boolean, nMachine As Integer) As Boolean Implements IHost.ComWriteBitVar If Map.refMainWindowVM.MachineManager.MachineList.Count >= nMachine AndAlso Not IsNothing(Map.refMainWindowVM.MachineManager.MachineList(nMachine)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine).WriteBitVar(nVarAddr, nBit, bValue) Else Return False End If End Function Public Function ComWriteDoubleVar(nVarAddr As Integer, dValue As Double, nMachine As Integer) As Boolean Implements IHost.ComWriteDoubleVar If Map.refMainWindowVM.MachineManager.MachineList.Count >= nMachine AndAlso Not IsNothing(Map.refMainWindowVM.MachineManager.MachineList(nMachine)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine).WriteDoubleVar(nVarAddr, dValue) Else Return False End If End Function End Class