ReadViewSDK/Sources/RDEpubReaderView/EPUBUI/ReaderController/RDEPUBReaderServices.swift
shenlei d7fcda345d refactor: rename RDReaderView -> RDEpubReaderView, update pod config and docs
- Rename source module from RDReaderView to RDEpubReaderView
- Move all source files from Sources/RDReaderView/ to Sources/RDEpubReaderView/
- Update podspec: RDReaderView.podspec -> RDEpubReaderView.podspec
- Update Podfile, demo project, and CocoaPods config for new pod name
- Delete old RDReaderView pod support files from ReadViewDemo/Pods
- Add new RDEpubReaderView pod support files
- Update documentation (API ref, architecture, UML, conventions, etc.)
- Add FixedLayoutRotationTests
- Update .gitignore: exclude .DS_Store, manual unpack backups, _ssoft-output
2026-07-10 19:44:53 +09:00

55 lines
1.8 KiB
Swift

import Foundation
final class RDEPUBReaderServices {
var dependencies: RDEPUBReaderDependencies
init(dependencies: RDEPUBReaderDependencies) {
self.dependencies = dependencies
}
func resolvedTextRenderer(configuration: RDEPUBReaderConfiguration) -> RDEPUBTextRenderer {
dependencies.makeTextRenderer(configuration.textRenderingEngine)
}
func makeParser() -> RDEPUBParser {
dependencies.makeParser()
}
func makePaginator() -> RDEPUBPaginator {
dependencies.makePaginator()
}
func makeTextBookBuilder(
configuration: RDEPUBReaderConfiguration,
cache: RDEPUBTextBookCache?,
layoutConfig: RDEPUBTextLayoutConfig
) -> RDEPUBTextBookBuilder {
dependencies.makeTextBookBuilder(
resolvedTextRenderer(configuration: configuration),
cache,
layoutConfig
)
}
func makePlainTextBookBuilder(
configuration: RDEPUBReaderConfiguration,
layoutConfig: RDEPUBTextLayoutConfig
) -> RDEpubPlainTextBookBuilder {
dependencies.makePlainTextBookBuilder(
resolvedTextRenderer(configuration: configuration),
layoutConfig
)
}
func makeChapterSummaryDiskCache(bookIdentifier: String?) -> RDEPUBChapterSummaryDiskCache {
let cachesDirectory = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first
?? FileManager.default.temporaryDirectory
let bookID = (bookIdentifier ?? "default").rd_sha256Hex
let directory = cachesDirectory
.appendingPathComponent("RDEPUBChapterSummaryCache", isDirectory: true)
.appendingPathComponent(bookID, isDirectory: true)
return RDEPUBChapterSummaryDiskCache(cacheDirectory: directory)
}
}