Files
view-by-distance-mklink-con…/Metadata/Models/Stateless/Methods/IMetadata.cs
2025-07-20 08:41:45 -07:00

59 lines
2.4 KiB
C#

using MetadataExtractor;
using View_by_Distance.Shared.Models;
namespace View_by_Distance.Metadata.Models.Stateless.Methods;
public interface IMetadata
{
enum DistanceUnit
{
Miles,
NauticalMiles,
Kilometers,
Meters
}
public static ExifDirectory GetExifDirectory(FilePath filePath) =>
Exif.GetExifDirectory(filePath);
public static FaceFile? GetFaceFile(ExifDirectory? exifDirectory) =>
Face.GetFaceFile(exifDirectory);
public static GeoLocation? GeoLocation(ExifDirectory? exifDirectory) =>
GPS.GeoLocation(exifDirectory?.GpsDirectories);
public static string? GetOutputResolution(ExifDirectory? exifDirectory) =>
Face.GetOutputResolution(exifDirectory?.PngDirectories);
public static string? GetRawFaceEncoding(ExifDirectory? exifDirectory) =>
Face.GetFaceEncoding(exifDirectory?.PngDirectories);
public static FaceEncoding? GetFaceEncoding(ExifDirectory? exifDirectory) =>
Face.GetFaceEncoding(exifDirectory);
public 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);
internal ExifDirectory TestStatic_GetExifDirectory(FilePath filePath) =>
GetExifDirectory(filePath);
internal GeoLocation? TestStatic_GeoLocation(ExifDirectory? exifDirectory) =>
GeoLocation(exifDirectory);
internal string? TestStatic_GetRawFaceEncoding(ExifDirectory? exifDirectory) =>
GetRawFaceEncoding(exifDirectory);
internal string? TestStatic_GetOutputResolution(ExifDirectory? exifDirectory) =>
GetOutputResolution(exifDirectory);
internal static FaceFile? TestStatic_GetFaceFile(ExifDirectory? exifDirectory) =>
GetFaceFile(exifDirectory);
internal FaceEncoding? TestStatic_GetFaceEncoding(ExifDirectory? exifDirectory) =>
GetFaceEncoding(exifDirectory);
internal 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);
}