From 3f8a841b9ef6bf84fba760e1797cd7e10681ce21 Mon Sep 17 00:00:00 2001 From: Toki Date: Sun, 2 Feb 2025 18:30:57 +0900 Subject: [PATCH] platform data update --- lib/platform/platform_base.dart | 2 ++ .../platform_io.dart} | 26 ++++++++++++++++--- lib/platform/platform_stub.dart | 2 ++ .../platform_web.dart} | 16 +++++++++--- lib/utils/system_util.dart | 17 ++---------- 5 files changed, 42 insertions(+), 21 deletions(-) rename lib/{log/log_writer_io.dart => platform/platform_io.dart} (73%) rename lib/{log/log_writer_web.dart => platform/platform_web.dart} (53%) diff --git a/lib/platform/platform_base.dart b/lib/platform/platform_base.dart index 1315ee9..abe3391 100644 --- a/lib/platform/platform_base.dart +++ b/lib/platform/platform_base.dart @@ -10,3 +10,5 @@ abstract class LogWriter { void write(String log); void end(); } + +void initializeApp(String name, String appID) => initialize(name, appID); \ No newline at end of file diff --git a/lib/log/log_writer_io.dart b/lib/platform/platform_io.dart similarity index 73% rename from lib/log/log_writer_io.dart rename to lib/platform/platform_io.dart index 3fcdf2f..57861ea 100644 --- a/lib/log/log_writer_io.dart +++ b/lib/platform/platform_io.dart @@ -1,12 +1,34 @@ import 'dart:io'; import 'package:dart_framework/platform/platform_base.dart'; +import 'package:dart_framework/utils/system_util.dart'; +import 'package:dart_framework/utils/path.dart'; import 'package:path/path.dart' as path; import 'package:dart_framework/platform/isolate_manager.dart'; import 'package:dart_framework/utils/string_util.dart'; import 'package:dart_framework/data/isolate_data.dart'; +// Interfaces +LogWriter getLogWriter() => LogWriterIO(); + +void initialize(String name, String appID) { + appIdendifier = appID; + appName = name; + scriptPath = Platform.script.toFilePath(windows: Platform.isWindows); + executablePath = Platform.executable; + isDebug = + path.basenameWithoutExtension(Platform.resolvedExecutable) == 'dart'; + var debugPath = isDebug ? '.debug' : ''; + userPath = Path.userPath; + dataPath = '${Path.dataPath}$debugPath'; + and = Platform.isWindows ? ';' : '&&'; + + intMax = 9007199254740991; + intMin = -intMax; +} + + class LogWriterIO extends IsolateBase implements LogWriter { late int _id; late File _file; @@ -59,6 +81,4 @@ class LogWriterIO extends IsolateBase implements LogWriter { void end() { IsolateManager.exit(_id); } -} - -LogWriter getLogWriter() => LogWriterIO(); \ No newline at end of file +} \ No newline at end of file diff --git a/lib/platform/platform_stub.dart b/lib/platform/platform_stub.dart index d5bab3c..4ee777a 100644 --- a/lib/platform/platform_stub.dart +++ b/lib/platform/platform_stub.dart @@ -1,3 +1,5 @@ import 'package:dart_framework/platform/platform_base.dart'; LogWriter getLogWriter() => throw UnsupportedError('Cannot create a instance'); + +void initialize(String name, String appID) => throw UnsupportedError('Cannot create a instance'); \ No newline at end of file diff --git a/lib/log/log_writer_web.dart b/lib/platform/platform_web.dart similarity index 53% rename from lib/log/log_writer_web.dart rename to lib/platform/platform_web.dart index fd6d2b0..fc56455 100644 --- a/lib/log/log_writer_web.dart +++ b/lib/platform/platform_web.dart @@ -1,4 +1,16 @@ import 'package:dart_framework/platform/platform_base.dart'; +import 'package:dart_framework/utils/system_util.dart'; + +// Interfaces +LogWriter getLogWriter() => LogWriterWeb(); + +void initialize(String name, String appID) { + appIdendifier = appID; + appName = name; + intMax = 9007199254740991; + intMin = -intMax; +} + class LogWriterWeb implements LogWriter { @override @@ -15,6 +27,4 @@ class LogWriterWeb implements LogWriter { void end() { } -} - -LogWriter getLogWriter() => LogWriterWeb(); \ No newline at end of file +} \ No newline at end of file diff --git a/lib/utils/system_util.dart b/lib/utils/system_util.dart index fd385b2..8093366 100644 --- a/lib/utils/system_util.dart +++ b/lib/utils/system_util.dart @@ -3,9 +3,8 @@ import 'dart:convert'; import 'dart:io' if (dart.library.html) 'dart:html'; import 'dart:typed_data'; -import 'package:dart_framework/utils/path.dart'; +import 'package:dart_framework/platform/platform_base.dart'; import 'package:yaml/yaml.dart'; -import 'package:path/path.dart' as path; int intMax = 0; int intMin = 0; @@ -19,19 +18,7 @@ String appName = ''; String and = '&&'; void initialize(String name, String appID) { - appIdendifier = appID; - appName = name; - scriptPath = Platform.script.toFilePath(windows: Platform.isWindows); - executablePath = Platform.executable; - isDebug = - path.basenameWithoutExtension(Platform.resolvedExecutable) == 'dart'; - var debugPath = isDebug ? '.debug' : ''; - userPath = Path.userPath; - dataPath = '${Path.dataPath}$debugPath'; - and = Platform.isWindows ? ';' : '&&'; - - intMax = 9007199254740991; - intMin = -intMax; + initializeApp(name, appID); } Map?> envArguments(List arguments) {