Overview

The FreeWorldSystem class initializes all subsystems and connects them together, providing a unified API for the entire operating system.

Initialized Subsystems

  • Error Manager
  • Security Manager
  • Resource Manager
  • Window Manager
  • Compositor
  • Input Manager
  • Clipboard & Drag & Drop
  • Window Relationships
  • Menu Loop
  • Non-Client Area
  • Timer Manager
  • Property Manager
  • Hook Manager
  • Focus Manager
  • Object Manager
  • Path Parser
  • Registry
  • File System Watcher
  • Desktop & Taskbar
  • Shell Execute

Methods

init()

Initializes the system, loads registry, starts desktop and taskbar.

shutdown()

Gracefully shuts down the system, saves registry, cleans up resources.

Getter Methods

Provides access to all subsystems:

  • getErrorManager()
  • getSecurityManager()
  • getResourceManager()
  • getWindowManager()
  • getCompositor()
  • getInputManager()
  • ... and all other subsystems

Subsystem Connections

The integration module connects subsystems:

  • Compositor ↔ Window Manager (window info)
  • Input Manager ↔ Window Manager (message sending)
  • Window Relationships ↔ Window Manager (window operations)
  • Focus Manager ↔ Window Manager (message sending)
  • Timer Manager ↔ Window Manager (WM_TIMER messages)

Usage Example

const FreeWorldSystem = require('./system/integration');

// Initialize system
const system = new FreeWorldSystem();
system.init();

// Access subsystems
const wm = system.getWindowManager();
const input = system.getInputManager();
const clipboard = system.getClipboard();

// Use system
const window = wm.createWindow('My App', 800, 600);
window.show();

// Shutdown
process.on('SIGINT', () => {
    system.shutdown();
    process.exit(0);
});