SettingsSyncController constructor

SettingsSyncController({
  1. required bool isUsingOAuth(),
  2. required bool isInteractive(),
  3. required bool isUploadFeatureEnabled(),
  4. required bool isDownloadFeatureEnabled(),
  5. required bool isUploadGateEnabled(),
  6. required bool isDownloadGateEnabled(),
  7. required String getApiProvider(),
  8. required bool isFirstPartyBaseUrl(),
  9. required ({String? accessToken, List<String>? scopes})? getOAuthTokens(),
  10. required Future<void> checkAndRefreshOAuthToken(),
  11. required Future<String?> getRepoRemoteHash(),
  12. required Future<({Map<String, dynamic>? data, int statusCode})> httpGet(
    1. String url,
    2. Map<String, String> headers
    ),
  13. required Future<({Map<String, dynamic>? data, int statusCode})> httpPut(
    1. String url,
    2. Object body,
    3. Map<String, String> headers
    ),
  14. required String getUserAgent(),
  15. required String getBaseApiUrl(),
  16. required String getBetaHeader(),
  17. required String? getSettingsFilePath(
    1. String source
    ),
  18. required String getMemoryPath(
    1. String scope
    ),
  19. required Future<String?> readFileOrNull(
    1. String path
    ),
  20. required Future<bool> writeFileSafe(
    1. String path,
    2. String content
    ),
  21. required Future<int?> getFileSize(
    1. String path
    ),
  22. required void resetSettingsCache(),
  23. required void clearMemoryFileCaches(),
  24. required void markInternalWrite(
    1. String path
    ),
  25. required void logDiagnostics(
    1. String level,
    2. String event, [
    3. Map<String, Object?>? data
    ]),
  26. required void logEvent(
    1. String eventName,
    2. Map<String, Object?> metadata
    ),
})

Implementation

SettingsSyncController({
  required this.isUsingOAuth,
  required this.isInteractive,
  required this.isUploadFeatureEnabled,
  required this.isDownloadFeatureEnabled,
  required this.isUploadGateEnabled,
  required this.isDownloadGateEnabled,
  required this.getApiProvider,
  required this.isFirstPartyBaseUrl,
  required this.getOAuthTokens,
  required this.checkAndRefreshOAuthToken,
  required this.getRepoRemoteHash,
  required this.httpGet,
  required this.httpPut,
  required this.getUserAgent,
  required this.getBaseApiUrl,
  required this.getBetaHeader,
  required this.getSettingsFilePath,
  required this.getMemoryPath,
  required this.readFileOrNull,
  required this.writeFileSafe,
  required this.getFileSize,
  required this.resetSettingsCache,
  required this.clearMemoryFileCaches,
  required this.markInternalWrite,
  required this.logDiagnostics,
  required this.logEvent,
});