public void SetWeakLink(bool weak) { PBXDictionary settings = null; PBXList attributes = null; if (_data.ContainsKey(SETTINGS_KEY)) { settings = _data[SETTINGS_KEY] as PBXDictionary; if (settings.ContainsKey(ATTRIBUTES_KEY)) { attributes = settings[ATTRIBUTES_KEY] as PBXList; } } if (weak) { if (settings == null) { settings = new PBXDictionary(); settings.internalNewlines = false; _data.Add(SETTINGS_KEY, settings); } if (attributes == null) { attributes = new PBXList(); attributes.internalNewlines = false; attributes.Add(WEAK_VALUE); settings.Add(ATTRIBUTES_KEY, attributes); } } else { if (attributes != null && attributes.Contains(WEAK_VALUE)) { attributes.Remove(WEAK_VALUE); } } }
protected bool AddSearchPaths(PBXList paths, string key, bool recursive = true) { bool modified = false; if (!ContainsKey(BUILDSETTINGS_KEY)) { this.Add(BUILDSETTINGS_KEY, new PBXDictionary()); } foreach (string path in paths) { string currentPath = path; if (recursive && !path.EndsWith("/**")) { currentPath += "**"; } if (!((PBXDictionary)_data[BUILDSETTINGS_KEY]).ContainsKey(key)) { ((PBXDictionary)_data[BUILDSETTINGS_KEY]).Add(key, new PBXList()); } else if (((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] is string) { PBXList list = new PBXList(); list.Add(((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]); ((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] = list; } if (!((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]).Contains(currentPath)) { ((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]).Add(currentPath); modified = true; } } return(modified); }
public bool AddFrameworkSearchPaths(PBXList paths, bool recursive = true) { return(this.AddSearchPaths(paths, FRAMEWORK_SEARCH_PATHS_KEY, recursive)); }
public bool AddLibrarySearchPaths(PBXList paths, bool recursive = true) { return(this.AddSearchPaths(paths, LIBRARY_SEARCH_PATHS_KEY, recursive)); }
public bool AddHeaderSearchPaths(PBXList paths, bool recursive = true) { return(this.AddSearchPaths(paths, HEADER_SEARCH_PATHS_KEY, recursive)); }