XPCProtocolsCore Module¶
The XPCProtocolsCore module defines the foundation-free protocols used for XPC communication between the sandboxed application and XPC service.
Overview¶
XPCProtocolsCore provides a consistent set of protocols and interfaces for secure cross-process communication, enabling sandboxed applications to perform privileged operations without compromising security. This module is designed to work without Foundation dependencies, making it lightweight and suitable for use in security-critical contexts.
Features¶
- Foundation-free protocol definitions
- Standardised error handling
- Type-safe message passing
- Secure parameter validation
Usage¶
import XPCProtocolsCore
// Define a service conforming to XPC protocols
class MyXPCService: XPCServiceProtocol {
func performOperation(
parameters: OperationParameters,
withReply reply: @escaping (Result<OperationResult, XPCSecurityError>) -> Void
) {
// Implementation
}
}
Integration¶
XPCProtocolsCore is primarily integrated with:
- UmbraXPC for XPC service implementation
- SecurityProtocolsCore for security protocols
- UmbraCore for main application integration
Source Code¶
The source code for this module is located in the Sources/XPCProtocolsCore
directory of the UmbraCore repository.