spiegel-keyman/mac/Keyman4MacIM/Keyman4MacIM/KMDataRepository.h
Shawn Schantz 10a2c8ddb3
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
feat(mac): migrate keyboards to group container from app container
2026-04-15 13:28:42 -04:00

33 lines
1.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
@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)createKeyman18DataDirectoryIfNecessary;
- (void)createKeyboardsDirectoryIfNecessary;
- (void)createKeyman19SharedDirectoriesIfNecessary;
- (BOOL)migrateDataForKeyman18;
- (BOOL)migrateDataForKeyman19;
- (NSString*)buildFullPath:(NSString *)fromPartialPath;
- (NSString*)trimToPartialPath:(NSString *)fromFullPath;
- (NSString *)buildPartialPathFrom:(NSString *)keyboardSubdirectory keyboardFile:(NSString *)kmxFilename;
@end
NS_ASSUME_NONNULL_END