D4yvid/swift-udev
An "udev" library wrapper for Swift
Usage
Begin by creating a new Devices class, if you need to watch events, you can create a DeviceMonitor using makeMonitor(), or if you want a device enumerator only, you can create a DeviceEnumerator using makeEnumerator().
import UDev
let devices = try! Devices()
let enumerator = try! devices.makeEnumerator()
_ = enumerator.match(subsystem: "usb") // Match the USB subsystem
let devices: [Device] = enumerator.enumerate() // Use all devices enumerated
let monitor = try! devices.makeMonitor()
monitor.fileDescriptor // Int
monitor.fileHandle // FileHandleAdding `swift-udev` as a dependency
Add into your Package.swift:
// swift-tools-version: 6.1
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
/// ... other fields
dependencies: [
.package(url: "https://github.com/D4yvid/swift-udev", from: "1.0.0"),
],
targets: [
.target( /// Can be `executableTarget`
name: "<udev-needed-target>",
dependencies: [
/// Other dependencies
.product(name: "UDev", package: "swift-udev"),
],
),
/// ... other targets
]
)Testing
You can run swift test to test if the library is working properly in your system. The tests will enumerate all hardware in your system, USB devices, etc. See Tests/
$ swift testPackage Metadata
Repository: D4yvid/swift-udev
Stars: 1
Forks: 0
Open issues: 0
Default branch: stable
Primary language: swift
License: MIT
README: README.md