System Integration
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);
});