2024-05-18 17:06:47 -07:00

70 lines
3.8 KiB
C#

using MetadataExtractor;
using System.Collections.ObjectModel;
using View_by_Distance.Shared.Models;
using View_by_Distance.Shared.Models.Properties;
using View_by_Distance.Shared.Models.Stateless.Methods;
namespace View_by_Distance.Metadata.Models.Stateless.Methods;
public interface IMetadata
{
enum DistanceUnit
{
Miles,
NauticalMiles,
Kilometers,
Meters
}
ExifDirectory TestStatic_GetExifDirectory(FilePath filePath, DeterministicHashCode deterministicHashCode) =>
GetExifDirectory(filePath, deterministicHashCode);
static ExifDirectory GetExifDirectory(FilePath filePath, DeterministicHashCode deterministicHashCode) =>
Exif.GetExifDirectory(filePath, deterministicHashCode);
string? TestStatic_GetMaker(ExifDirectory? exifDirectory) =>
GetMaker(exifDirectory);
static string? GetMaker(ExifDirectory? exifDirectory) =>
Base.GetMaker(exifDirectory?.ExifBaseDirectories);
string? TestStatic_GetModel(ExifDirectory? exifDirectory) =>
GetModel(exifDirectory);
static string? GetModel(ExifDirectory? exifDirectory) =>
Base.GetModel(exifDirectory?.ExifBaseDirectories);
ReadOnlyCollection<string> TestStatic_GetKeywords(ExifDirectory? exifDirectory) =>
GetKeywords(exifDirectory);
static ReadOnlyCollection<string> GetKeywords(ExifDirectory? exifDirectory) =>
Base.GetKeywords(exifDirectory?.ExifBaseDirectories);
string? TestStatic_GetOutputResolution(ExifDirectory? exifDirectory) =>
GetOutputResolution(exifDirectory);
static string? GetOutputResolution(ExifDirectory? exifDirectory) =>
Face.GetOutputResolution(exifDirectory?.PngDirectories);
string? TestStatic_GetFaceEncoding(ExifDirectory? exifDirectory) =>
GetFaceEncoding(exifDirectory);
static string? GetFaceEncoding(ExifDirectory? exifDirectory) =>
Face.GetFaceEncoding(exifDirectory?.PngDirectories);
GeoLocation? TestStatic_GeoLocation(ExifDirectory? exifDirectory) =>
GeoLocation(exifDirectory);
static GeoLocation? GeoLocation(ExifDirectory? exifDirectory) =>
GPS.GeoLocation(exifDirectory?.GpsDirectories);
double? TestStatic_GetDistance(double originLatitude, double originLongitude, double destinationLatitude, double destinationLongitude, int decimalPlaces = 1, DistanceUnit distanceUnit = DistanceUnit.Miles) =>
GetDistance(originLatitude, originLongitude, destinationLatitude, destinationLongitude, decimalPlaces, distanceUnit);
static double? GetDistance(double originLatitude, double originLongitude, double destinationLatitude, double destinationLongitude, int decimalPlaces = 1, DistanceUnit distanceUnit = DistanceUnit.Miles) =>
GPS.GetDistance(originLatitude, originLongitude, destinationLatitude, destinationLongitude, decimalPlaces, distanceUnit);
Action<string> TestStatic_SetExifDirectoryCollection(IRename rename, IRenameConfiguration renameConfiguration, A_Metadata metadata, List<string> distinct, List<(FilePath, FileInfo, ExifDirectory, ReadOnlyCollection<FileHolder>)> collection) =>
SetExifDirectoryCollection(rename, renameConfiguration, metadata, distinct, collection);
static Action<string> SetExifDirectoryCollection(IRename rename, IRenameConfiguration renameConfiguration, A_Metadata metadata, List<string> distinct, List<(FilePath, FileInfo, ExifDirectory, ReadOnlyCollection<FileHolder>)> collection) =>
Get.SetExifDirectoryCollection(rename, renameConfiguration, metadata, distinct, collection);
ReadOnlyDictionary<string, List<FileHolder>> TestStatic_GetKeyValuePairs(IEnumerable<string> files) =>
GetKeyValuePairs(files);
static ReadOnlyDictionary<string, List<FileHolder>> GetKeyValuePairs(IEnumerable<string> files) =>
Get.GetKeyValuePairs(files);
}