/* HBUtilities.h $ This file is part of the HandBrake source code. Homepage: . It may be used under the terms of the GNU General Public License. */ #import #import "HBSecurityAccessToken.h" NS_ASSUME_NONNULL_BEGIN @interface NSURL (HBSecurityScope) @end @interface HBUtilities : NSObject /** * Returns a formatted string that contains the application version. */ + (NSString *)handBrakeVersion; /** * Returns the url of the current /Library/Application Support/HandBrake folder. */ + (nullable NSURL *)appSupportURL; /** * Returns the url of the current version documentation. */ @property (nonatomic, readonly, class) NSURL *documentationURL; /** * Writes a message to standard error. * The message will show up in the output panel and in the activity log. * * @param format a standard c format string with varargs. */ + (void)writeToActivityLog:(const char *)format, ...; + (void)writeErrorToActivityLog:(NSError *)error; + (void)writeToActivityLogWithNoHeader:(NSString *)text; /** Whether to resolve the security-scoped bookmarks or not. Security-scoped bookmarks can't be resolved in a XPC service. Use this options to avoid not useful errors */ @property (nonatomic, class, readwrite) BOOL resolveBookmarks; + (nullable NSURL *)URLFromBookmark:(NSData *)bookmark; + (nullable NSData *)bookmarkFromURL:(NSURL *)url; + (nullable NSData *)bookmarkFromURL:(NSURL *)url options:(NSURLBookmarkCreationOptions)options; + (NSURL *)mediaURLFromURL:(NSURL *)URL; + (NSString *)isoCodeForNativeLang:(NSString *)language; + (NSString *)iso6392CodeFor:(NSString *)language; + (NSString *)languageCodeForIso6392Code:(NSString *)language; typedef NS_ENUM(NSUInteger, HBPrivacyConsentState) { HBPrivacyConsentStateUnknown, HBPrivacyConsentStateDenied, HBPrivacyConsentStateGranted, }; + (HBPrivacyConsentState)determinePermissionToAutomateTarget:(NSString *)bundleIdentifier promptIfNeeded:(BOOL)promptIfNeeded; @end NS_ASSUME_NONNULL_END