updateConfig method
更新打印器的配置
newConfig
是新的配置信息
返回一个 Future 表示配置更新操作的完成
Implementation
@override
Future<void> updateConfig(Map<String, dynamic> newConfig) async {
await _lock.synchronized(() async {
bool needsReinitialization = false;
// 检查是否需要重新初始化
if (newConfig.containsKey('logDirectory') ||
newConfig.containsKey('baseFileName')) {
needsReinitialization = true;
}
// 如果需要重新初始化
if (needsReinitialization) {
await close();
// 更新路径配置
logDirectory = newConfig['logDirectory'] as String? ?? logDirectory;
baseFileName = newConfig['baseFileName'] as String? ?? baseFileName;
_isInitialized = false;
await init();
}
// 更新其他配置
if (newConfig.containsKey('maxQueueSize')) {
// 这些配置的更新需要在 AsyncOutputer 中实现
// 暂时不处理
}
});
}