using System; using System.Xml.Schema; using System.Xml.Serialization; namespace FlickrNet { /// /// EXIF data for the selected photo. /// [Serializable] public class ExifPhoto { internal ExifPhoto(string photoId, string secret, int server, ExifTag[] array) { _photoId = photoId; _secret = secret; _server = server; _tagCollection = array; } private string _photoId; private string _secret; private int _server; private ExifTag[] _tagCollection; /// /// The Photo ID for the photo whose EXIF data this is. /// public string PhotoId { get { return _photoId; } } /// /// The Secret of the photo. /// public string Secret { get { return _secret; } } /// /// The server number for the photo. /// public int Server { get { return _server; } } /// /// An array of EXIF tags. See for more details. /// public ExifTag[] ExifTagCollection { get { return _tagCollection; } } } /// /// Details of an individual EXIF tag. /// [Serializable] public class ExifTag { private string _tagSpace; private int _tagSpaceId; private string _tag; private string _label; private string _raw; private string _clean; /// /// The type of EXIF data, e.g. EXIF, TIFF, GPS etc. /// [XmlAttribute("tagspace")] public string TagSpace { get { return _tagSpace; } set { _tagSpace = value; } } /// /// An id number for the type of tag space. /// [XmlAttribute("tagspaceid")] public int TagSpaceId { get { return _tagSpaceId; } set { _tagSpaceId = value; } } /// /// The tag number. /// [XmlAttribute("tag")] public string Tag { get { return _tag; } set { _tag = value; } } /// /// The label, or description for the tag, such as Aperture /// or Manufacturer /// [XmlAttribute("label")] public string Label { get { return _label; } set { _label = value; } } /// /// The raw EXIF data. /// [XmlElement("raw")] public string Raw { get { return _raw; } set { _raw = value; } } /// /// An optional clean version of the property. /// May be null if the Raw property is in a suitable format already. /// [XmlElement("clean")] public string Clean { get { return _clean; } set { _clean = value; } } } }