Imports System.ComponentModel.Composition Imports Effector.Plugin.Lib Imports Effector.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) As Integer Implements IHost.PlgGetPrivateProfileInt Return GetMainPrivateProfileInt(lpAppName, lpKeyName, nDefault) End Function Public Function PlgGetPrivateProfileDouble(lpAppName As String, lpKeyName As String, dDefault As Double) As Double Implements IHost.PlgGetPrivateProfileDouble Return GetMainPrivateProfileDouble(lpAppName, lpKeyName, dDefault) End Function Public Function PlgGetPrivateProfileString(lpAppName As String, lpKeyName As String, lpDefault As String, ByRef lpString As String) As Integer Implements IHost.PlgGetPrivateProfileString Return GetMainPrivateProfileString(lpAppName, lpKeyName, lpDefault, lpString) End Function Public Function PlgWritePrivateProfileString(lpAppName As String, lpKeyName As String, lpString As String) As Boolean Implements IHost.PlgWritePrivateProfileString Return WriteMainPrivateProfileString(lpAppName, lpKeyName, lpString) 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 PlgExecProcessAsync(sFileName As String, sMainLuaPath As String, sArguments As String) As Boolean Implements IHost.PlgExecProcessAsync Return ExecProcessManager.ExecProcessAsync(sFileName, sMainLuaPath, sArguments) End Function Public Function PlgCheckExecProcessAsync(ByRef bHasExited As Boolean, ByRef nExitCode As Integer) As Boolean Implements IHost.PlgCheckExecProcessAsync Return ExecProcessManager.CheckExecProcessAsync(bHasExited, nExitCode) 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 - 1)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).ReadShortVar(nVarAddr, nResult) Else EgtOutLog("Error reading variable " & nVarAddr & " on machine " & nMachine & ": " & Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).ErrMsg) 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 - 1)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).ReadBitVar(nVarAddr, nBit, bResult) Else EgtOutLog("Error reading variable " & nVarAddr & " on machine " & nMachine & ": " & Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).ErrMsg) 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 - 1)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).ReadDoubleVar(nVarAddr, dResult) Else EgtOutLog("Error reading variable " & nVarAddr & " on machine " & nMachine & ": " & Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).ErrMsg) 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 - 1)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).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 - 1)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).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 - 1)) Then Return Map.refMainWindowVM.MachineManager.MachineList(nMachine - 1).WriteDoubleVar(nVarAddr, dValue) Else Return False End If End Function End Class