using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Perforce.P4 { /// /// Defines a Perforce repository's default mapping between /// file names or locations and file types. /// public class TypeMap : List { public TypeMap() { } public TypeMap ( TypeMapEntry mapping, FormSpec spec ) { Mapping = mapping; Spec = spec; } public TypeMapEntry Mapping { get; set; } public FormSpec Spec { get; set; } } /// /// Describes an individual entry in the Perforce repository's typemap. /// public class TypeMapEntry { public TypeMapEntry ( FileType filetype, string path ) { FileType = filetype; Path = path; } public TypeMapEntry (string spec) { Parse(spec); } public FileType FileType { get; set; } public string Path { get; set; } public void Parse(string spec) { int idx = spec.IndexOf(' '); string ftstr = spec.Substring(0, idx); this.FileType = new FileType(ftstr); this.Path = spec.Substring(idx + 1); } public override string ToString() { return String.Format("{0} {1}", this.FileType.ToString(), this.Path); } } }