mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-22 15:19:27 +00:00
58 lines
2.0 KiB
Objective-C
58 lines
2.0 KiB
Objective-C
//
|
|
// MPActionHelper.m
|
|
// MacPass
|
|
//
|
|
// Created by Michael Starke on 09.03.13.
|
|
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
|
|
//
|
|
|
|
#import "MPActionHelper.h"
|
|
|
|
@implementation MPActionHelper
|
|
|
|
+ (NSDictionary *)_actionDictionary {
|
|
static NSDictionary *actionDict;
|
|
static dispatch_once_t onceToken;
|
|
dispatch_once(&onceToken, ^{
|
|
actionDict = @{
|
|
@(MPActionAddEntry) : @"createEntry:",
|
|
@(MPActionAddGroup) : @"createGroup:",
|
|
@(MPActionCopyPassword) : @"copyPassword:",
|
|
@(MPActionCopyURL) : @"copyURL:",
|
|
@(MPActionCopyUsername) : @"copyUsername:",
|
|
@(MPActionDelete) : @"delete:",
|
|
@(MPActionEditPassword) : @"editPassword:",
|
|
@(MPActionOpenURL) : @"openURL:",
|
|
@(MPActionToggleInspector) : @"toggleInspector:",
|
|
@(MPActionLock) : @"lock:",
|
|
@(MPActionEmptyTrash) : @"emptyTrash:",
|
|
@(MPActionDatabaseSettings) : @"showDatabaseSettings:",
|
|
@(MPActionEditTemplateGroup) : @"editTemplateGroup:",
|
|
@(MPActionExportXML) : @"exportAsXML",
|
|
@(MPActionImportXML) : @"importFromXMl",
|
|
};
|
|
});
|
|
return actionDict;
|
|
}
|
|
|
|
+ (SEL)actionOfType:(MPActionType)type {
|
|
NSDictionary *actionDict = [self _actionDictionary];
|
|
return NSSelectorFromString(actionDict[@(type)]);
|
|
}
|
|
|
|
+ (MPActionType)typeForAction:(SEL)action {
|
|
NSString *selectorString = NSStringFromSelector(action);
|
|
NSArray *selectors = [[self _actionDictionary] allValues];
|
|
NSUInteger index = [selectors indexOfObject:selectorString];
|
|
if(index == NSNotFound) {
|
|
// Test for default Actions?
|
|
return MPUnkownAction;
|
|
}
|
|
NSArray *keys = [[self _actionDictionary] allKeysForObject:selectorString];
|
|
NSAssert([keys count] == 1, @"There should only be one object for the specified key");
|
|
return [[keys lastObject] integerValue];
|
|
}
|
|
|
|
|
|
@end
|