Expand description
§lamco-clipboard-core
Clipboard format conversion and synchronization utilities for Rust.
This crate provides core clipboard infrastructure that works independently of any specific remote desktop protocol:
FormatConverter- MIME type and Windows clipboard format conversionLoopDetector- Prevent clipboard sync loops with content hashingTransferEngine- Chunked transfer for large clipboard datasanitize- Cross-platform filename sanitization and file URI parsing
§Quick Start
use lamco_clipboard_core::{FormatConverter, LoopDetector};
use lamco_clipboard_core::formats::{ClipboardFormat, mime_to_rdp_formats};
// Convert MIME types to clipboard formats
let formats = mime_to_rdp_formats(&["text/plain", "text/html"]);
// Check for clipboard loops
let mut detector = LoopDetector::new();
if !detector.would_cause_loop(&formats) {
// Safe to sync
}§Feature Flags
image- Enable image format conversion (PNG, JPEG, BMP to Windows DIB)
§Architecture
This crate handles format conversion, loop detection, and transfer mechanics.
For the clipboard backend trait (ClipboardSink) and RDP-specific file
transfer types, see lamco-rdp-clipboard.
Re-exports§
pub use formats::ClipboardFormat;pub use formats::FormatConverter;pub use loop_detector::ClipboardSource;pub use loop_detector::LoopDetectionConfig;pub use loop_detector::LoopDetector;
Modules§
- formats
- Clipboard format conversion utilities.
- image
image - Image format conversion utilities.
- loop_
detector - Loop detection for clipboard synchronization.
- prelude
- Prelude module for convenient imports
- sanitize
- Cross-platform sanitization utilities for clipboard data.
Structs§
- Transfer
Config - Configuration for the transfer engine
- Transfer
Engine - Handles chunked transfers of clipboard data.
- Transfer
Progress - Progress information for a transfer
Enums§
- Clipboard
Error - Errors that can occur during clipboard operations
- Transfer
State - State of a transfer operation
Constants§
- DEFAULT_
CHUNK_ SIZE - Default chunk size: 64KB
- DEFAULT_
MAX_ SIZE - Default maximum data size: 16MB
- DEFAULT_
TIMEOUT_ MS - Default timeout: 30 seconds
Type Aliases§
- Clipboard
Result - Result type for clipboard operations