Files
kvc/kvc/HelpSystem.h
2025-10-02 23:11:12 +02:00

47 lines
1.8 KiB
C++

#pragma once
#include "common.h"
#include <string_view>
// Comprehensive help system for kvc with modular command documentation
class HelpSystem
{
public:
HelpSystem() = delete;
~HelpSystem() = delete;
// Main help interface
static void PrintUsage(std::wstring_view programName) noexcept;
// Specific help sections
static void PrintHeader() noexcept;
static void PrintBasicCommands() noexcept;
static void PrintProtectionCommands() noexcept;
static void PrintSystemCommands() noexcept;
static void PrintProcessTerminationCommands() noexcept;
static void PrintDefenderCommands() noexcept;
static void PrintDPAPICommands() noexcept;
static void PrintBrowserCommands() noexcept;
static void PrintServiceCommands() noexcept;
static void PrintProtectionTypes() noexcept;
static void PrintExclusionTypes() noexcept;
static void PrintPatternMatching() noexcept;
static void PrintTechnicalFeatures() noexcept;
static void PrintUnknownCommandMessage(std::wstring_view command) noexcept;
static void PrintDefenderNotes() noexcept;
static void PrintRegistryCommands() noexcept;
static void PrintSecurityEngineCommands() noexcept;
static void PrintSessionManagement() noexcept;
static void PrintStickyKeysInfo() noexcept;
static void PrintUndumpableProcesses() noexcept;
static void PrintUsageExamples(std::wstring_view programName) noexcept;
static void PrintSecurityNotice() noexcept;
static void PrintFooter() noexcept;
private:
// Helper methods for consistent formatting
static void PrintSectionHeader(const wchar_t* title) noexcept;
static void PrintCommandLine(const wchar_t* command, const wchar_t* description) noexcept;
static void PrintNote(const wchar_t* note) noexcept;
static void PrintWarning(const wchar_t* warning) noexcept;
};