5 // Created by Sam McCall on 6/05/09.
8 #import "NJOutputMapping.h"
10 #import "EnjoyableApplicationDelegate.h"
12 #import "NJMappingsController.h"
14 @implementation NJOutputMapping
16 + (NSString *)serializationCode {
20 - (NSDictionary *)serialize {
21 NSString *name = _mapping ? _mapping.name : self.mappingName;
23 ? @{ @"type": self.class.serializationCode, @"name": name }
27 + (NJOutputMapping *)outputDeserialize:(NSDictionary *)serialization {
28 NSString *name = serialization[@"name"];
29 NJOutputMapping *output = [[NJOutputMapping alloc] init];
30 output.mappingName = name;
31 return name ? output : nil;
35 EnjoyableApplicationDelegate *ctrl = (EnjoyableApplicationDelegate *)NSApplication.sharedApplication.delegate;
37 [ctrl.mappingsController activateMapping:_mapping];
38 self.mappingName = _mapping.name;
40 // TODO: Show an error message? Unobtrusively since something
41 // is probably running.
45 - (void)postLoadProcess:(id <NSFastEnumeration>)allMappings {
47 for (NJMapping *mapping in allMappings) {
48 if ([mapping.name isEqualToString:self.mappingName]) {
49 self.mapping = mapping;