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 ¶
- func Call(functionName string, m AuditModule) ModuleResult
- func CallValidate(functionName string, params ParameterMap) error
- func GetModuleSyntax(module string) string
- func GetOS() (string, error)
- func Initialize(skipCompatibilityCheck bool) ([]ModuleSyntax, error)
- func ValidateAuditModules(mod []AuditModule) error
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 ¶
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 ¶
Sucht den Modul-Syntax für den Übergebenen Modul-Name oder Modul-Alias und gibt diesen als formatierten String zurück.
func GetOS ¶
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 ¶
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.