public NSObjectDecoder(IBDocument ibDocument, XElement xElement) { Document = ibDocument; XmlElement = xElement; AllowsKeyedCoding = true; CreateDictionary(xElement); }
public static void Parse(IBDocument ibDocument, XElement xElement) { NSObjectDecoder nsObjDecoder = new NSObjectDecoder(ibDocument, xElement); string keyVal = xElement.Attribute("key").Value.Substring(11); switch (keyVal) { case "SystemTarget": { //ibDocument.SystemTarget = (NSNumber)nsObjDecoder.Create(xElement); ibDocument.SystemTarget = (NSNumber)nsObjDecoder.Create(); } break; case "SystemVersion": { ibDocument.SystemVersion = (NSString)nsObjDecoder.Create(); } break; case "InterfaceBuilderVersion": { ibDocument.InterfaceBuilderVersion = (NSString)nsObjDecoder.Create(); } break; case "AppKitVersion": { ibDocument.AppKitVersion = (NSString)nsObjDecoder.Create(); } break; case "HIToolboxVersion": { ibDocument.HIToolboxVersion = (NSString)nsObjDecoder.Create(); } break; case "PluginVersions": { ibDocument.PluginVersions = (NSMutableDictionary)nsObjDecoder.Create(); } break; case "IntegratedClassDependencies": { ibDocument.IntegratedClassDependencies = (NSArray)nsObjDecoder.Create(); } break; case "PluginDependencies": { ibDocument.PluginDependencies = (NSArray)nsObjDecoder.Create(); } break; case "Metadata": { ibDocument.Metadata = (NSMutableDictionary)nsObjDecoder.Create(); } break; case "RootObjects": { ibDocument.RootObjects = (NSMutableArray)nsObjDecoder.Create(); ibDocument.ResolveReferences(); } break; case "Objects": { ibDocument.Objects = (IBObjectContainer)nsObjDecoder.Create(); } break; case "Classes": { ibDocument.Classes = (IBClassDescriber)nsObjDecoder.Create(); } break; case "localizationMode": { ibDocument.LocalizationMode = (NSNumber)nsObjDecoder.Create(); } break; case "TargetRuntimeIdentifier": { ibDocument.TargetRuntimeIdentifier = (NSString)nsObjDecoder.Create(); } break; case "PluginDeclaredDevelopmentDependencies": { ibDocument.PluginDeclaredDevelopmentDependencies = (NSMutableDictionary)nsObjDecoder.Create(); } break; case "PluginDeclaredDependenciesTrackSystemTargetVersion": { ibDocument.PluginDeclaredDependenciesTrackSystemTargetVersion = (NSNumber)nsObjDecoder.Create(); } break; case "defaultPropertyAccessControl": { ibDocument.DefaultPropertyAccessControl = (NSNumber)nsObjDecoder.Create(); } break; case "LastKnownImageSizes": { ibDocument.LastKnownImageSizes = (NSMutableDictionary)nsObjDecoder.Create(); } break; default: System.Diagnostics.Debug.WriteLine("IBDocument : unknown key " + keyVal); break; } }