Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Select Git revision
  • eb27a5a070a735b329381a69e93770e2dc1e8615
  • stable default
  • amdm3/develop
  • powertrains-multiple-axles
  • issue-1039
  • amdm3/main
  • test/nuget_publish
  • IEPC-experiments
  • amdm2/main
  • amdm2/develop
  • aptngearbox-not-auto
  • playground
  • official/main
  • official/develop
  • issue-templates
  • pdf-reports
  • HEV-timeruns-dev
  • timerun-empower-hybrids
  • timerun-pwheel-hybrids
  • Release/v5.0.3
  • Release/v5.0.1
  • Release/5.0.0-RC
  • Nuget/v0.11.4-DEV
  • Release/v0.11.4-DEV
  • Release/4.3.4-DEV
  • Release/4.3.3
  • Release/4.3.2-RC
  • Release/v4.3.0-DEV
  • Release/4.2.7
  • XMLConverterTool/4.2.6.0
  • Release/4.2.6-RC
  • Release/v4.2.5
  • Release/v4.2.3
  • Release/v4.2.2.3539-RC
  • Release/v4.2.1.3469
  • Release/v0.11.2.3456-DEV
  • Release/v4.2.0.3448-RC
  • Release/v4.1.3.3415
  • Release/v4.1.1.3413
39 results

AdvancedAuxiliariesModule.vb

Blame
  • Forked from VECTO / VECTO Sim
    8018 commits behind the upstream repository.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    AdvancedAuxiliariesModule.vb 5.25 KiB
    Imports System.Collections.Generic
    Imports VectoAuxiliaries
    Imports System.IO
    Imports System.Linq
    Imports System.Runtime.Remoting
    
    Module AdvancedAuxiliariesModule
    	Public WithEvents AdvancedAuxModel As IAdvancedAuxiliaries
    
    	Dim _returnList As Dictionary(Of String, AdvancedAuxiliary) = Nothing
    
    	Public Sub AAEventAuxiliaryEvent(ByRef sender As Object, ByVal message As String,
    									ByVal messageType As AdvancedAuxiliaryMessageType) Handles AdvancedAuxModel.AuxiliaryEvent
    
    
    		WorkerMsg(CType(messageType, MessageType), message, "Advanced Auxiliaries")
    	End Sub
    
    	'AA-TB
    
    	'AA-TB
    	''' <summary>
    	''' Discovers Advanced Auxiliaries Assemblies in 'targetDirectory' Directory
    	''' </summary>
    	''' <returns>List(Of cAdvancedAuxiliary)</returns>
    	''' <remarks>Target Directory would normally be the executing directory, but can be in another location.</remarks>
    	Public Function DiscoverAdvancedAuxiliaries() As Dictionary(Of String, AdvancedAuxiliary)
    
    		If Not _returnList Is Nothing Then
    			Return _returnList
    		End If
    
    		_returnList = New Dictionary(Of String, AdvancedAuxiliary)
    		Dim o As ObjectHandle
    		Dim iAdvancedAux As IAdvancedAuxiliaries
    
    
    		'Create Default
    		Dim classicAux As AdvancedAuxiliary = New AdvancedAuxiliary()
    		_returnList.Add(classicAux.AssemblyName, classicAux)
    
    
    		Try
    			Dim fileEntries As String() = Directory.GetFiles(GetAAUXSourceDirectory)
    			' Process the list of files found in the directory. 
    			Dim fileName As String
    
    			For Each fileName In fileEntries
    
    				If fileName.Contains("Auxiliaries.dll") Then
    
    					'Get filenamewith
    					Dim fileNameWoPath As String = GetFilenameWithoutPath(fileName, True)
    					Dim fileNameWoExtentsion As String = GetFilenameWithoutPath(fileName, False)
    
    					o = Activator.CreateInstance(fileNameWoExtentsion, "VectoAuxiliaries.AdvancedAuxiliaries")
    
    					iAdvancedAux = DirectCast(o.Unwrap, IAdvancedAuxiliaries)
    
    					Dim advancedAuxiliary As AdvancedAuxiliary = New AdvancedAuxiliary(iAdvancedAux.AuxiliaryName,
    																						iAdvancedAux.AuxiliaryVersion,
    																						fileNameWoPath, fileNameWoExtentsion)
    					_returnList.Add(advancedAuxiliary.AuxiliaryVersion, advancedAuxiliary)
    				End If
    
    			Next fileName
    
    		Catch ex As Exception
    			MessageBox.Show("Unable to obtain Advanced Auxiliary Assemblies")
    		End Try
    
    
    		Return _returnList
    	End Function
    
    	'AA-TB
    	''' <summary>
    	''' Invokes Advanced Auxiliaries Configuration Screen
    	''' </summary>
    	''' <param name="vectoFilePath">String : Contains the path of the vecto file.</param>
    	''' <returns>Boolean. True if aauxFile is valid after operation , false of not.</returns>
    	''' <remarks></remarks>
    	Public Function ConfigureAdvancedAuxiliaries(ByVal assemblyName As String, ByVal version As String, filePath As String,
    												vectoFilePath As String) As Boolean
    
    
    		Dim auxList As Dictionary(Of String, AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries()
    		Dim o As ObjectHandle
    		Dim iAdvancedAux As IAdvancedAuxiliaries
    		Dim result As Boolean
    
    		Dim chosenAssembly As KeyValuePair(Of String, AdvancedAuxiliary) =
    				auxList.First(Function(x) x.Value.AssemblyName = assemblyName AndAlso x.Value.AuxiliaryVersion = version)
    
    		If String.IsNullOrEmpty(chosenAssembly.Value.AssemblyName) Then Return False
    
    		'Open Assembly and invoke the configuration using the paths supplied.
    
    		Try
    			o = Activator.CreateInstance(chosenAssembly.Value.AssemblyName, "VectoAuxiliaries.AdvancedAuxiliaries")
    			iAdvancedAux = DirectCast(o.Unwrap, IAdvancedAuxiliaries)
    
    			iAdvancedAux.Configure(filePath, vectoFilePath)
    
    		Catch ex As Exception
    
    			result = False
    
    		End Try
    
    		Return result
    	End Function
    
    
    	''' <summary>
    	''' Gets location of Advanced Auxiliaries Directory which contains all the assemblies available.
    	''' </summary>
    	''' <returns>Path where Auxiliaries can be found : String</returns>
    	''' <remarks></remarks>
    	Public Function GetAAUXSourceDirectory() As String
    
    
    		Return Path.GetDirectoryName(Application.ExecutablePath)
    	End Function
    
    
    	Public Function ResolveAAUXFilePath(vectoPath As String, filename As String) As String
    
    		'No Vecto Path supplied
    		If vectoPath = "" Then Return filename
    
    		'This is not relative
    		If filename.Contains(":\") Then
    
    			'Filepath is already absolute
    			Return filename
    		Else
    			Return vectoPath & filename
    		End If
    	End Function
    
    
    	Public Function ValidateAAUXFile(ByVal absoluteAAuxPath As String,
    									ByVal assemblyName As String,
    									ByVal version As String,
    									ByRef message As String) As Boolean
    
    		Dim auxList As Dictionary(Of String, AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries()
    		Dim o As ObjectHandle
    		Dim iAdvancedAux As IAdvancedAuxiliaries
    		Dim result As Boolean
    
    
    		Dim chosenAssembly As KeyValuePair(Of String, AdvancedAuxiliary) =
    				auxList.First(Function(x) x.Value.AssemblyName = assemblyName AndAlso x.Value.AuxiliaryVersion = version)
    
    		If String.IsNullOrEmpty(chosenAssembly.Value.AssemblyName) Then Return False
    
    
    		'Open Assembly and invoke the validation using the paths supplied.
    		Try
    			o = Activator.CreateInstance(chosenAssembly.Value.AssemblyName, "VectoAuxiliaries.AdvancedAuxiliaries")
    			iAdvancedAux = DirectCast(o.Unwrap, IAdvancedAuxiliaries)
    
    			result = iAdvancedAux.ValidateAAUXFile(absoluteAAuxPath, message)
    
    		Catch ex As Exception
    
    			result = False
    
    		End Try
    
    		Return result
    	End Function
    End Module