35 lines
1.3 KiB
Dart
35 lines
1.3 KiB
Dart
import 'dart:async';
|
|
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
|
|
|
/// 分享功能仓库接口 - 定义分享相关的业务逻辑
|
|
/// 提供分享接收、处理和状态管理的核心功能
|
|
abstract class ShareRepository {
|
|
/// 分享数据流 - 用于监听接收到的分享文件
|
|
/// 返回分享文件的流,当有新分享时发出数据
|
|
Stream<List<SharedMediaFile>>? get sharingStream;
|
|
|
|
/// 初始化分享接收 - 设置分享监听器
|
|
/// 在应用启动时调用,开始监听系统分享事件
|
|
/// 返回初始化操作是否成功
|
|
Future<void> initializeShareReceiving();
|
|
|
|
/// 获取待处理的分享文件 - 获取当前待处理的分享文件
|
|
/// 返回待处理的分享文件列表,可能为空
|
|
List<SharedMediaFile> getPendingShareFiles();
|
|
|
|
/// 是否有待处理的分享 - 检查是否有待处理的分享文件
|
|
/// 返回是否有待处理文件
|
|
bool hasPendingShare();
|
|
|
|
/// 清除当前分享数据 - 清除已处理的分享数据
|
|
/// 在分享处理完成后调用
|
|
void clearCurrentShare();
|
|
|
|
/// 获取分享文件数量 - 获取当前分享文件数量
|
|
/// 返回分享文件数量
|
|
int getShareFileCount();
|
|
|
|
/// 释放资源 - 清理分享接收相关资源
|
|
/// 在应用退出时调用
|
|
Future<void> dispose();
|
|
} |