spiegel-keyman/mac/Keyman4MacIM/Keyman4MacIM/KMDataRepository.h
2026-08-12 14:34:17 -04:00

34 lines
1 KiB
Objective-C

/*
* Keyman is copyright (C) SIL International. MIT License.
*
* Created by Shawn Schantz on 2024-07-30.
*
*/
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
extern NSString *const kKeymanGroupId;
@interface KMDataRepository : NSObject
// keyman18DataDirectory: '~/Library/Application Support/keyman.inputmethod.Keyman'
@property (readonly) NSURL *keyman18DataDirectory;
// keyman18KeyboardsDirectory: '~/Library/Application Support/keyman.inputmethod.Keyman/Keyman-Keyboards'
@property (readonly) NSURL *keyman18KeyboardsDirectory;
@property (readonly) NSURL *keyman19ContainerDirectory;
@property (readonly) NSURL *keyman19KeyboardsDirectory;
+ (KMDataRepository *)shared;
- (void)createSharedDirectoriesIfNecessary;
- (void)migrateDataFromKeyman17;
- (void)migrateDataFromKeyman18;
- (NSString*)buildFullPath:(NSString *)fromPartialPath;
- (NSString*)trimToPartialPath:(NSString *)fromFullPath;
- (NSString *)buildPartialPathFrom:(NSString *)keyboardSubdirectory keyboardFile:(NSString *)kmxFilename;
@end
NS_ASSUME_NONNULL_END