From 2d891ba8e7a6ad6b9c88b448415a4bdf280c2c39 Mon Sep 17 00:00:00 2001 From: Toki Date: Sun, 2 Feb 2025 18:40:34 +0900 Subject: [PATCH] =?UTF-8?q?platform=20=EC=A0=84=EC=9A=A9=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/platform/platform_base.dart | 12 +++++++++--- lib/platform/platform_io.dart | 30 ++++++++++++++++++++++++++++++ lib/platform/platform_stub.dart | 8 +++++++- lib/platform/platform_web.dart | 6 ++++++ lib/utils/system_util.dart | 32 ++------------------------------ 5 files changed, 54 insertions(+), 34 deletions(-) diff --git a/lib/platform/platform_base.dart b/lib/platform/platform_base.dart index abe3391..05d5c77 100644 --- a/lib/platform/platform_base.dart +++ b/lib/platform/platform_base.dart @@ -1,6 +1,8 @@ +import 'dart:typed_data'; + import 'package:dart_framework/platform/platform_stub.dart' - if (dart.library.io) 'package:dart_framework/log/log_writer_io.dart' - if (dart.library.html) 'package:dart_framework/log/log_writer_web.dart'; + if (dart.library.io) 'package:dart_framework/platform/platform_io.dart' + if (dart.library.html) 'package:dart_framework/platform/platform_web.dart'; abstract class LogWriter { factory LogWriter() => getLogWriter(); @@ -11,4 +13,8 @@ abstract class LogWriter { void end(); } -void initializeApp(String name, String appID) => initialize(name, appID); \ No newline at end of file +void initializeApp(String name, String appID) => initialize(name, appID); + +Future getIPAddressPlatform(String domain) => getIPAddress(domain); + +Future readFileBytePlatform(String filePath) => readFileBytePlatform(filePath); \ No newline at end of file diff --git a/lib/platform/platform_io.dart b/lib/platform/platform_io.dart index 57861ea..78a21bd 100644 --- a/lib/platform/platform_io.dart +++ b/lib/platform/platform_io.dart @@ -1,4 +1,5 @@ import 'dart:io'; +import 'dart:typed_data'; import 'package:dart_framework/platform/platform_base.dart'; import 'package:dart_framework/utils/system_util.dart'; @@ -28,6 +29,35 @@ void initialize(String name, String appID) { intMin = -intMax; } +Future getIPAddress(String domain) async { + late String ipAddress; + var regEx = RegExp(r'(://)([a-zA-Z0-9-.]+)(/|:)'); + var match = regEx.firstMatch(domain); + if (match != null && match.groupCount > 2) { + domain = match.group(2)!; + var list = await InternetAddress.lookup(domain); + for (var address in list) { + ipAddress = address.address; + break; + } + } + return dataFutrue(ipAddress); +} + +Future readFileByte(String filePath) async { + Uri myUri = Uri.parse(filePath); + File audioFile = File.fromUri(myUri); + Uint8List? bytes; + await audioFile.readAsBytes().then((value) { + bytes = Uint8List.fromList(value); + print('reading of bytes is completed'); + }).catchError((onError) { + print('Exception Error while reading audio from path:$onError'); + }); + return dataFutrue(bytes); +} + + class LogWriterIO extends IsolateBase implements LogWriter { late int _id; diff --git a/lib/platform/platform_stub.dart b/lib/platform/platform_stub.dart index 4ee777a..312223f 100644 --- a/lib/platform/platform_stub.dart +++ b/lib/platform/platform_stub.dart @@ -1,5 +1,11 @@ +import 'dart:typed_data'; + 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 +void initialize(String name, String appID) => throw UnsupportedError('Cannot execute method'); + +Future getIPAddress(String domain) => throw UnsupportedError('Cannot execute method'); + +Future readFileByte(String filePath) => throw UnsupportedError('Cannot execute method'); \ No newline at end of file diff --git a/lib/platform/platform_web.dart b/lib/platform/platform_web.dart index fc56455..a8bbe28 100644 --- a/lib/platform/platform_web.dart +++ b/lib/platform/platform_web.dart @@ -1,3 +1,5 @@ +import 'dart:typed_data'; + import 'package:dart_framework/platform/platform_base.dart'; import 'package:dart_framework/utils/system_util.dart'; @@ -11,6 +13,10 @@ void initialize(String name, String appID) { intMin = -intMax; } +Future getIPAddress(String domain) => dataFutrue(''); + +Future readFileByte(String filePath) => dataFutrue(null); + class LogWriterWeb implements LogWriter { @override diff --git a/lib/utils/system_util.dart b/lib/utils/system_util.dart index 8093366..fcea940 100644 --- a/lib/utils/system_util.dart +++ b/lib/utils/system_util.dart @@ -82,22 +82,7 @@ Map? getMapFromYaml(String yamlStr) { return map; } -Future getIPAddress(String domain) async { - var c = Completer(); - late String ipAddress; - var regEx = RegExp(r'(://)([a-zA-Z0-9-.]+)(/|:)'); - var match = regEx.firstMatch(domain); - if (match != null && match.groupCount > 2) { - domain = match.group(2)!; - var list = await InternetAddress.lookup(domain); - for (var address in list) { - ipAddress = address.address; - break; - } - } - c.complete(ipAddress); - return c.future; -} +Future getIPAddress(String domain) => getIPAddressPlatform(domain); Future get simpleFuture { var c = Completer(); @@ -111,17 +96,4 @@ Future dataFutrue(T data) { return c.future; } -Future readFileByte(String filePath) async { - var c = Completer(); - Uri myUri = Uri.parse(filePath); - File audioFile = File.fromUri(myUri); - Uint8List? bytes; - await audioFile.readAsBytes().then((value) { - bytes = Uint8List.fromList(value); - print('reading of bytes is completed'); - }).catchError((onError) { - print('Exception Error while reading audio from path:$onError'); - }); - c.complete(bytes); - return c.future; -} +Future readFileByte(String filePath) => readFileBytePlatform(filePath); \ No newline at end of file