platform 전용 데이터 업데이트

This commit is contained in:
Toki 2025-02-02 18:40:34 +09:00
parent 3f8a841b9e
commit 2d891ba8e7
5 changed files with 54 additions and 34 deletions

View file

@ -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);
void initializeApp(String name, String appID) => initialize(name, appID);
Future<String> getIPAddressPlatform(String domain) => getIPAddress(domain);
Future<Uint8List?> readFileBytePlatform(String filePath) => readFileBytePlatform(filePath);

View file

@ -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<String> 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<Uint8List?> 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;

View file

@ -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');
void initialize(String name, String appID) => throw UnsupportedError('Cannot execute method');
Future<String> getIPAddress(String domain) => throw UnsupportedError('Cannot execute method');
Future<Uint8List?> readFileByte(String filePath) => throw UnsupportedError('Cannot execute method');

View file

@ -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<String> getIPAddress(String domain) => dataFutrue('');
Future<Uint8List?> readFileByte(String filePath) => dataFutrue(null);
class LogWriterWeb implements LogWriter {
@override

View file

@ -82,22 +82,7 @@ Map<String, dynamic>? getMapFromYaml(String yamlStr) {
return map;
}
Future<String> getIPAddress(String domain) async {
var c = Completer<String>();
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<String> getIPAddress(String domain) => getIPAddressPlatform(domain);
Future get simpleFuture {
var c = Completer();
@ -111,17 +96,4 @@ Future<T> dataFutrue<T>(T data) {
return c.future;
}
Future<Uint8List?> readFileByte(String filePath) async {
var c = Completer<Uint8List>();
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<Uint8List?> readFileByte(String filePath) => readFileBytePlatform(filePath);