mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-07-13 14:59:23 +00:00
58 lines
1.9 KiB
Objective-C
58 lines
1.9 KiB
Objective-C
#import <SSignalKit/SSignalKit.h>
|
|
|
|
#import <LegacyComponents/TGMediaAsset.h>
|
|
#import <LegacyComponents/TGMediaAssetGroup.h>
|
|
#import <LegacyComponents/TGMediaAssetFetchResult.h>
|
|
|
|
typedef enum
|
|
{
|
|
TGMediaLibraryAuthorizationStatusNotDetermined,
|
|
TGMediaLibraryAuthorizationStatusRestricted,
|
|
TGMediaLibraryAuthorizationStatusDenied,
|
|
TGMediaLibraryAuthorizationStatusLimited,
|
|
TGMediaLibraryAuthorizationStatusAuthorized
|
|
} TGMediaLibraryAuthorizationStatus;
|
|
|
|
static TGMediaLibraryAuthorizationStatus TGMediaLibraryCachedAuthorizationStatus = TGMediaLibraryAuthorizationStatusNotDetermined;
|
|
|
|
@interface TGMediaAssetsLibrary : NSObject
|
|
{
|
|
SQueue *_queue;
|
|
}
|
|
|
|
@property (nonatomic, readonly) TGMediaAssetType assetType;
|
|
|
|
- (instancetype)initForAssetType:(TGMediaAssetType)assetType;
|
|
+ (instancetype)libraryForAssetType:(TGMediaAssetType)assetType;
|
|
|
|
- (SSignal *)assetWithIdentifier:(NSString *)identifier;
|
|
|
|
- (SSignal *)assetGroups;
|
|
- (SSignal *)cameraRollGroup;
|
|
|
|
- (SSignal *)assetsOfAssetGroup:(TGMediaAssetGroup *)assetGroup reversed:(bool)reversed;
|
|
|
|
- (SSignal *)libraryChanged;
|
|
- (SSignal *)updatedAssetsForAssets:(NSArray *)assets;
|
|
|
|
- (SSignal *)saveAssetWithImage:(UIImage *)image;
|
|
- (SSignal *)saveAssetWithImageData:(NSData *)imageData;
|
|
- (SSignal *)saveAssetWithImageAtUrl:(NSURL *)url;
|
|
- (SSignal *)saveAssetWithVideoAtUrl:(NSURL *)url;
|
|
- (SSignal *)_saveAssetWithUrl:(NSURL *)url isVideo:(bool)isVideo;
|
|
|
|
+ (instancetype)sharedLibrary;
|
|
|
|
+ (bool)usesPhotoFramework;
|
|
|
|
+ (SSignal *)authorizationStatusSignal;
|
|
+ (void)requestAuthorizationForAssetType:(TGMediaAssetType)assetType completion:(void (^)(TGMediaLibraryAuthorizationStatus status, TGMediaAssetGroup *cameraRollGroup))completion;
|
|
+ (TGMediaLibraryAuthorizationStatus)authorizationStatus;
|
|
|
|
@end
|
|
|
|
NSInteger TGMediaAssetGroupComparator(TGMediaAssetGroup *group1, TGMediaAssetGroup *group2, void *context);
|
|
|
|
extern NSString *const TGMediaAssetsKey;
|
|
extern NSString *const TGMediaChangesKey;
|