protected void AddSerializer(FormatSerializer serializer) { if (!this._formats.ContainsKey(serializer.FormatExtension)) { this._formats.Add(serializer.FormatExtension, serializer); } }
private void openStream(Stream stream, string ext) { FormatSerializer serializer = this.GetSerializer(ext); if (serializer == null) { PlatformFactory.Platform.ShowWarning("Open " + ext + " file format not implemented!", "Warning"); return; } serializer.Deserialize(stream); }
protected FormatSerializer GetSerializer(string ext) { FormatSerializer result = null; if ((ext.Length >= 2 && ext.Substring(0, 2) == ".!") || ext.Substring(0, 2) == ".$") { result = this._formats["$"]; } else { if (ext.StartsWith(".")) { ext = ext.Substring(1, ext.Length - 1); } if (this._formats.ContainsKey(ext)) { result = this._formats[ext]; } } return(result); }