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; }
}
}
}