modulecontroller

package
v0.0.0-...-caac4fb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 11, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Dieses Package übernimmt die Kommunikation zwischen dem Rest des Frameworks und der Module. Das Framework ist von den Modulen vollständig getrennt, insofern dass die Methoden der Module nie explizit aus dem Code aufgerufen wird. Die einzige Referenz auf die Module befinden sich in der Slice static.Modules. Stattdessen wird Reflection verwendet um die Methoden der Module aufzurufen. Dafür ist es nötig, dass alle Modul-Methoden einheitliche Namen haben. Welche Methodennamen erwartet werden, wird von static.MODULE_INITIALIZER_SUFFIX, static.MODULE_EXECUTOR_SUFFIX und static.MODULE_VALIDATOR_SUFFIX. Die Methodennamen setzen sich durch den Modulname und den Suffix zusammen.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Call

func Call(functionName string, m AuditModule) ModuleResult

Wird zum Aufrufen der Hauptmethode (Execute) eines Moduls verwendet werden. Diese Methode parsed die zu übergebenden Werte, sowie die Rückgabewerte in den korrekten Datentyp.

func CallValidate

func CallValidate(functionName string, params ParameterMap) error

Wird zum Aufrufen der Validate-Methode eines Moduls verwendet werden. Diese Methode parsed die zu übergebenden Werte, sowie die Rückgabewerte in den korrekten Datentyp. Ist der zurückgegebene Error nil, sind alle Parameter valide.

func GetModuleSyntax

func GetModuleSyntax(module string) string

Sucht den Modul-Syntax für den Übergebenen Modul-Name oder Modul-Alias und gibt diesen als formatierten String zurück.

func GetOS

func GetOS() (string, error)

Versucht das Betriebssystem und seine Version zu bestimmen. Es wird nicht zwischen den unterschiedlichen Ausführungen von einzelnen Windows-Versionen (Home/Pro) etc. unterschieden.

func Initialize

func Initialize(skipCompatibilityCheck bool) ([]ModuleSyntax, error)

Initialisiert alle Module und überprüft währenddessen, ob die Module mit dem aktuellen OS kompatibel sind, und alle benötigten Methoden implementieren. Wenn ja, wird der Syntax des Moduls (models.ModuleSyntax) in die Slice loadedModules geschrieben. Mit `skipCompatibilityCheck` kann die Kompatibilitätsüberprüfung übersprungen werden.

func ValidateAuditModules

func ValidateAuditModules(mod []AuditModule) error

Überprüft für alle übergeben models.AuditModule-Objekte ob das referenzierte Modul eine Validate-Methode hat. Wenn ja, wird diese mit den in der AuditKonfiguration angegebenen Parametern aufgerufen.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL