Initial project

This commit is contained in:
Cody
2026-03-06 14:56:17 +08:00
parent 977b627b15
commit bf9e099747
1180 changed files with 50973 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
import '../wiring/media_sdk_wiring.dart';
/// SDK API
abstract class MediaSdkApi
{
factory MediaSdkApi() => MediaSdkWiring.build();
Future<String?> platformVersion();
}

View File

@@ -0,0 +1,14 @@
import '../../../media_sdk.dart';
import 'media_sdk_core.dart';
/// SDK API Implementation
class MediaSdkApiImpl implements MediaSdkApi
{
final MediaSdkCore _core;
MediaSdkApiImpl({required MediaSdkCore core}) : _core = core;
@override
Future<String?> platformVersion() => _core.repo.platformVersion();
}

View File

@@ -0,0 +1,14 @@
import '../../../media_sdk_platform_interface.dart';
import '../../domain/repositories/media_sdk_repository.dart';
class MediaSdkCore
{
final MediaSdkPlatform platform;
final MediaSdkRepository repo;
MediaSdkCore({
required this.platform,
required this.repo,
});
}

View File

@@ -0,0 +1,30 @@
import '../../../media_sdk.dart';
import '../../../media_sdk_method_channel.dart';
import '../../../media_sdk_platform_interface.dart';
import '../../data/datasources/media_sdk_method_channel_datasource.dart';
import '../../data/repositories/media_sdk_repository_impl.dart';
import 'media_sdk_core.dart';
import 'media_sdk_api_impl.dart';
class MediaSdkWiring
{
static MediaSdkApi build() {
// platform instancemethod channel
final platform = MediaSdkPlatform.instance;
if (platform is MethodChannelMediaSdk) {
// platform.init(); // or defer to NotificationApiImpl.init
}
// data layer
final ds = MediaSdkMethodChannelDataSource(platform);
final repo = MediaSdkRepositoryImpl(ds);
final core = MediaSdkCore(platform: platform, repo: repo,);
return MediaSdkApiImpl(core: core);
}
}