// Autogenerated from Pigeon (v26.3.4), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: unused_import, unused_shown_name // ignore_for_file: type=lint import 'dart:async'; import 'dart:typed_data' show Float64List, Int32List, Int64List; import 'package:flutter/services.dart'; import 'package:meta/meta.dart' show immutable, protected, visibleForTesting; Object? _extractReplyValueOrThrow(List? replyList, String channelName, {required bool isNullValid}) { if (replyList == null) { throw PlatformException( code: 'channel-error', message: 'Unable to establish connection on channel: "$channelName".', ); } else if (replyList.length > 1) { throw PlatformException(code: replyList[0]! as String, message: replyList[1] as String?, details: replyList[2]); } else if (!isNullValid && (replyList.isNotEmpty && replyList[0] == null)) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } return replyList.firstOrNull; } bool _deepEquals(Object? a, Object? b) { if (identical(a, b)) { return true; } if (a is double && b is double) { if (a.isNaN && b.isNaN) { return true; } return a == b; } if (a is List && b is List) { return a.length == b.length && a.indexed.every(((int, dynamic) item) => _deepEquals(item.$2, b[item.$1])); } if (a is Map && b is Map) { if (a.length != b.length) { return false; } for (final MapEntry entryA in a.entries) { bool found = false; for (final MapEntry entryB in b.entries) { if (_deepEquals(entryA.key, entryB.key)) { if (_deepEquals(entryA.value, entryB.value)) { found = true; break; } else { return false; } } } if (!found) { return false; } } return true; } return a == b; } int _deepHash(Object? value) { if (value is List) { return Object.hashAll(value.map(_deepHash)); } if (value is Map) { int result = 0; for (final MapEntry entry in value.entries) { result += (_deepHash(entry.key) * 31) ^ _deepHash(entry.value); } return result; } if (value is double && value.isNaN) { // Normalize NaN to a consistent hash. return 0x7FF8000000000000.hashCode; } if (value is double && value == 0.0) { // Normalize -0.0 to 0.0 so they have the same hash code. return 0.0.hashCode; } return value.hashCode; } enum PlatformAssetPlaybackStyle { unknown, image, video, imageAnimated, livePhoto, videoLooping } class PlatformAsset { PlatformAsset({ required this.id, required this.name, required this.type, this.createdAt, this.updatedAt, this.width, this.height, required this.durationInSeconds, required this.orientation, required this.isFavorite, this.adjustmentTime, this.latitude, this.longitude, required this.playbackStyle, }); String id; String name; int type; int? createdAt; int? updatedAt; int? width; int? height; int durationInSeconds; int orientation; bool isFavorite; int? adjustmentTime; double? latitude; double? longitude; PlatformAssetPlaybackStyle playbackStyle; List _toList() { return [ id, name, type, createdAt, updatedAt, width, height, durationInSeconds, orientation, isFavorite, adjustmentTime, latitude, longitude, playbackStyle, ]; } Object encode() { return _toList(); } static PlatformAsset decode(Object result) { result as List; return PlatformAsset( id: result[0]! as String, name: result[1]! as String, type: result[2]! as int, createdAt: result[3] as int?, updatedAt: result[4] as int?, width: result[5] as int?, height: result[6] as int?, durationInSeconds: result[7]! as int, orientation: result[8]! as int, isFavorite: result[9]! as bool, adjustmentTime: result[10] as int?, latitude: result[11] as double?, longitude: result[12] as double?, playbackStyle: result[13]! as PlatformAssetPlaybackStyle, ); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes bool operator ==(Object other) { if (other is! PlatformAsset || other.runtimeType != runtimeType) { return false; } if (identical(this, other)) { return true; } return _deepEquals(id, other.id) && _deepEquals(name, other.name) && _deepEquals(type, other.type) && _deepEquals(createdAt, other.createdAt) && _deepEquals(updatedAt, other.updatedAt) && _deepEquals(width, other.width) && _deepEquals(height, other.height) && _deepEquals(durationInSeconds, other.durationInSeconds) && _deepEquals(orientation, other.orientation) && _deepEquals(isFavorite, other.isFavorite) && _deepEquals(adjustmentTime, other.adjustmentTime) && _deepEquals(latitude, other.latitude) && _deepEquals(longitude, other.longitude) && _deepEquals(playbackStyle, other.playbackStyle); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode => _deepHash([runtimeType, ..._toList()]); } class PlatformAlbum { PlatformAlbum({ required this.id, required this.name, this.updatedAt, required this.isCloud, required this.assetCount, }); String id; String name; int? updatedAt; bool isCloud; int assetCount; List _toList() { return [id, name, updatedAt, isCloud, assetCount]; } Object encode() { return _toList(); } static PlatformAlbum decode(Object result) { result as List; return PlatformAlbum( id: result[0]! as String, name: result[1]! as String, updatedAt: result[2] as int?, isCloud: result[3]! as bool, assetCount: result[4]! as int, ); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes bool operator ==(Object other) { if (other is! PlatformAlbum || other.runtimeType != runtimeType) { return false; } if (identical(this, other)) { return true; } return _deepEquals(id, other.id) && _deepEquals(name, other.name) && _deepEquals(updatedAt, other.updatedAt) && _deepEquals(isCloud, other.isCloud) && _deepEquals(assetCount, other.assetCount); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode => _deepHash([runtimeType, ..._toList()]); } class SyncDelta { SyncDelta({required this.hasChanges, required this.updates, required this.deletes, required this.assetAlbums}); bool hasChanges; List updates; List deletes; Map> assetAlbums; List _toList() { return [hasChanges, updates, deletes, assetAlbums]; } Object encode() { return _toList(); } static SyncDelta decode(Object result) { result as List; return SyncDelta( hasChanges: result[0]! as bool, updates: (result[1]! as List).cast(), deletes: (result[2]! as List).cast(), assetAlbums: (result[3]! as Map).cast>(), ); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes bool operator ==(Object other) { if (other is! SyncDelta || other.runtimeType != runtimeType) { return false; } if (identical(this, other)) { return true; } return _deepEquals(hasChanges, other.hasChanges) && _deepEquals(updates, other.updates) && _deepEquals(deletes, other.deletes) && _deepEquals(assetAlbums, other.assetAlbums); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode => _deepHash([runtimeType, ..._toList()]); } class HashResult { HashResult({required this.assetId, this.error, this.hash}); String assetId; String? error; String? hash; List _toList() { return [assetId, error, hash]; } Object encode() { return _toList(); } static HashResult decode(Object result) { result as List; return HashResult(assetId: result[0]! as String, error: result[1] as String?, hash: result[2] as String?); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes bool operator ==(Object other) { if (other is! HashResult || other.runtimeType != runtimeType) { return false; } if (identical(this, other)) { return true; } return _deepEquals(assetId, other.assetId) && _deepEquals(error, other.error) && _deepEquals(hash, other.hash); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode => _deepHash([runtimeType, ..._toList()]); } class CloudIdResult { CloudIdResult({required this.assetId, this.error, this.cloudId}); String assetId; String? error; String? cloudId; List _toList() { return [assetId, error, cloudId]; } Object encode() { return _toList(); } static CloudIdResult decode(Object result) { result as List; return CloudIdResult(assetId: result[0]! as String, error: result[1] as String?, cloudId: result[2] as String?); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes bool operator ==(Object other) { if (other is! CloudIdResult || other.runtimeType != runtimeType) { return false; } if (identical(this, other)) { return true; } return _deepEquals(assetId, other.assetId) && _deepEquals(error, other.error) && _deepEquals(cloudId, other.cloudId); } @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode => _deepHash([runtimeType, ..._toList()]); } class _PigeonCodec extends StandardMessageCodec { const _PigeonCodec(); @override void writeValue(WriteBuffer buffer, Object? value) { if (value is int) { buffer.putUint8(4); buffer.putInt64(value); } else if (value is PlatformAssetPlaybackStyle) { buffer.putUint8(129); writeValue(buffer, value.index); } else if (value is PlatformAsset) { buffer.putUint8(130); writeValue(buffer, value.encode()); } else if (value is PlatformAlbum) { buffer.putUint8(131); writeValue(buffer, value.encode()); } else if (value is SyncDelta) { buffer.putUint8(132); writeValue(buffer, value.encode()); } else if (value is HashResult) { buffer.putUint8(133); writeValue(buffer, value.encode()); } else if (value is CloudIdResult) { buffer.putUint8(134); writeValue(buffer, value.encode()); } else { super.writeValue(buffer, value); } } @override Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: final value = readValue(buffer) as int?; return value == null ? null : PlatformAssetPlaybackStyle.values[value]; case 130: return PlatformAsset.decode(readValue(buffer)!); case 131: return PlatformAlbum.decode(readValue(buffer)!); case 132: return SyncDelta.decode(readValue(buffer)!); case 133: return HashResult.decode(readValue(buffer)!); case 134: return CloudIdResult.decode(readValue(buffer)!); default: return super.readValueOfType(type, buffer); } } } class NativeSyncApi { /// Constructor for [NativeSyncApi]. The [binaryMessenger] named argument is /// available for dependency injection. If it is left null, the default /// BinaryMessenger will be used which routes to the host platform. NativeSyncApi({BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''}) : pigeonVar_binaryMessenger = binaryMessenger, pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; final BinaryMessenger? pigeonVar_binaryMessenger; static const MessageCodec pigeonChannelCodec = _PigeonCodec(); final String pigeonVar_messageChannelSuffix; Future shouldFullSync() async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.shouldFullSync$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return pigeonVar_replyValue! as bool; } Future getMediaChanges() async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getMediaChanges$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return pigeonVar_replyValue! as SyncDelta; } Future checkpointSync() async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.checkpointSync$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } Future clearSyncCheckpoint() async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.clearSyncCheckpoint$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } Future> getAssetIdsForAlbum(String albumId) async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getAssetIdsForAlbum$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([albumId]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return (pigeonVar_replyValue! as List).cast(); } Future> getAlbums() async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getAlbums$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return (pigeonVar_replyValue! as List).cast(); } Future getAssetsCountSince(String albumId, int timestamp) async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getAssetsCountSince$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([albumId, timestamp]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return pigeonVar_replyValue! as int; } Future> getAssetsForAlbum(String albumId, {int? updatedTimeCond}) async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getAssetsForAlbum$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([albumId, updatedTimeCond]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return (pigeonVar_replyValue! as List).cast(); } Future> hashAssets(List assetIds, {bool allowNetworkAccess = false}) async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.hashAssets$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([assetIds, allowNetworkAccess]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return (pigeonVar_replyValue! as List).cast(); } Future cancelHashing() async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.cancelHashing$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } Future>> getTrashedAssets() async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getTrashedAssets$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return (pigeonVar_replyValue! as Map).cast>(); } Future> getCloudIdForAssetIds(List assetIds) async { final pigeonVar_channelName = 'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getCloudIdForAssetIds$pigeonVar_messageChannelSuffix'; final pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([assetIds]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( pigeonVar_replyList, pigeonVar_channelName, isNullValid: false, ); return (pigeonVar_replyValue! as List).cast(); } }