86 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using MetadataExtractor;
 | |
| using System.Collections.ObjectModel;
 | |
| using Phares.Shared.Models;
 | |
| using Phares.Shared.Models.Properties;
 | |
| using Phares.Shared.Models.Stateless;
 | |
| 
 | |
| namespace Phares.Metadata.Models.Stateless;
 | |
| 
 | |
| public interface IMetadata
 | |
| {
 | |
| 
 | |
|     enum DistanceUnit
 | |
|     {
 | |
|         Miles,
 | |
|         NauticalMiles,
 | |
|         Kilometers,
 | |
|         Meters
 | |
|     }
 | |
| 
 | |
|     public static FaceFile? GetFaceFile(ExifDirectory? exifDirectory) =>
 | |
|         Face.GetFaceFile(exifDirectory);
 | |
| 
 | |
|     public static GeoLocation? GeoLocation(ExifDirectory? exifDirectory) =>
 | |
|         GPS.GeoLocation(exifDirectory?.GpsDirectories);
 | |
| 
 | |
|     public static string? GetRawFaceEncoding(ExifDirectory? exifDirectory) =>
 | |
|         Face.GetFaceEncoding(exifDirectory?.PngDirectories);
 | |
| 
 | |
|     public static FaceEncoding? GetFaceEncoding(ExifDirectory? exifDirectory) =>
 | |
|         Face.GetFaceEncoding(exifDirectory);
 | |
| 
 | |
|     public static ReadOnlyDictionary<string, List<FileHolder>> GetKeyValuePairs(IEnumerable<string> files) =>
 | |
|         Get.GetKeyValuePairs(files);
 | |
| 
 | |
|     public static ReadOnlyDictionary<string, List<FileHolder>> GetKeyValuePairs(IEnumerable<NginxFileSystem> collection) =>
 | |
|         Get.GetKeyValuePairs(collection);
 | |
| 
 | |
|     public static ExifDirectory? GetExifDirectory(ResultSettings resultSettings, MetadataSettings metadataSettings, FileInfo fileInfo) =>
 | |
|         Exif.GetExifDirectory(resultSettings, metadataSettings, fileInfo);
 | |
| 
 | |
|     public static ExifDirectory GetExifDirectory(FilePath filePath, Stream stream, PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName? personKeyFormattedAndKeyTicksAndDisplayDirectoryName) =>
 | |
|         Exif.GetExifDirectory(filePath, stream, personKeyFormattedAndKeyTicksAndDisplayDirectoryName);
 | |
| 
 | |
|     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);
 | |
| 
 | |
|     public static Action<string> SetExifDirectoryCollection(IRename rename, ResultSettings resultSettings, MetadataSettings metadataSettings, IRenameSettings renameSettings, A_Metadata metadata, List<string> distinct, List<MetadataGroup> metadataGroups) =>
 | |
|         Get.SetExifDirectoryCollection(rename, resultSettings, metadataSettings, renameSettings, metadata, distinct, metadataGroups);
 | |
| 
 | |
|     public static Action<string> SetExifDirectoryCollection(IWindows windows, ResultSettings resultSettings, MetadataSettings metadataSettings, A_Metadata metadata, List<string> distinct, List<MetadataGroup> metadataGroups) =>
 | |
|         Get.SetExifDirectoryCollection(windows, resultSettings, metadataSettings, metadata, distinct, metadataGroups);
 | |
| 
 | |
|     internal GeoLocation? TestStatic_GeoLocation(ExifDirectory? exifDirectory) =>
 | |
|         GeoLocation(exifDirectory);
 | |
| 
 | |
|     internal string? TestStatic_GetRawFaceEncoding(ExifDirectory? exifDirectory) =>
 | |
|         GetRawFaceEncoding(exifDirectory);
 | |
| 
 | |
|     internal static FaceFile? TestStatic_GetFaceFile(ExifDirectory? exifDirectory) =>
 | |
|         GetFaceFile(exifDirectory);
 | |
| 
 | |
|     internal static FaceEncoding? TestStatic_GetFaceEncoding(ExifDirectory? exifDirectory) =>
 | |
|         GetFaceEncoding(exifDirectory);
 | |
| 
 | |
|     internal ReadOnlyDictionary<string, List<FileHolder>> TestStatic_GetKeyValuePairs(IEnumerable<string> files) =>
 | |
|         GetKeyValuePairs(files);
 | |
| 
 | |
|     internal ReadOnlyDictionary<string, List<FileHolder>> TestStatic_GetKeyValuePairs(IEnumerable<NginxFileSystem> collection) =>
 | |
|         GetKeyValuePairs(collection);
 | |
| 
 | |
|     internal ExifDirectory? TestStatic_GetExifDirectory(ResultSettings resultSettings, MetadataSettings metadataSettings, FileInfo fileInfo) =>
 | |
|         GetExifDirectory(resultSettings, metadataSettings, fileInfo);
 | |
| 
 | |
|     internal ExifDirectory TestStatic_GetExifDirectory(FilePath filePath, Stream stream, PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName? personKeyFormattedAndKeyTicksAndDisplayDirectoryName) =>
 | |
|         GetExifDirectory(filePath, stream, personKeyFormattedAndKeyTicksAndDisplayDirectoryName);
 | |
| 
 | |
|     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);
 | |
| 
 | |
|     internal Action<string> TestStatic_SetExifDirectoryCollection(IWindows windows, ResultSettings resultSettings, MetadataSettings metadataSettings, A_Metadata metadata, List<string> distinct, List<MetadataGroup> metadataGroups) =>
 | |
|         SetExifDirectoryCollection(windows, resultSettings, metadataSettings, metadata, distinct, metadataGroups);
 | |
| 
 | |
|     internal Action<string> TestStatic_SetExifDirectoryCollection(IRename rename, ResultSettings resultSettings, MetadataSettings metadataSettings, IRenameSettings renameSettings, A_Metadata metadata, List<string> distinct, List<MetadataGroup> metadataGroups) =>
 | |
|         SetExifDirectoryCollection(rename, resultSettings, metadataSettings, renameSettings, metadata, distinct, metadataGroups);
 | |
| 
 | |
| } |