//-----------------------------------------------------------------------
//
// Copyright (c) Outercurve Foundation. All rights reserved.
//
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.OpenId.Extensions.AttributeExchange {
using System.Diagnostics.CodeAnalysis;
///
/// Attribute types defined at http://www.axschema.org/types/.
///
///
/// If you don't see what you need here, check that URL to see if any have been added.
/// You can use new ones directly without adding them to this class, and can even make
/// up your own if you expect the other end to understand what you make up.
///
[SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "SA1630:DocumentationTextMustContainWhitespace", Justification = "The samples are string literals.")]
[SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "SA1631:DocumentationMustMeetCharacterPercentage", Justification = "The samples are string literals.")]
public static class WellKnownAttributes {
///
/// Inherent attributes about a personality such as gender and bio.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Person {
/// Gender, either "M" or "F"
/// "M", "F"
public const string Gender = "http://axschema.org/person/gender";
/// Biography (text)
/// "I am the very model of a modern Major General."
public const string Biography = "http://axschema.org/media/biography";
}
///
/// Preferences such as language and timezone.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Preferences {
/// Preferred language, as per RFC4646
/// "en-US"
public const string Language = "http://axschema.org/pref/language";
/// Home time zone information (as specified in zoneinfo)
/// "America/Pacific"
public const string TimeZone = "http://axschema.org/pref/timezone";
}
///
/// The names a person goes by.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Name {
/// Subject's alias or "screen" name
/// "Johnny5"
public const string Alias = "http://axschema.org/namePerson/friendly";
/// Full name of subject
/// "John Doe"
public const string FullName = "http://axschema.org/namePerson";
/// Honorific prefix for the subject's name
/// "Mr.", "Mrs.", "Dr."
public const string Prefix = "http://axschema.org/namePerson/prefix";
/// First or given name of subject
/// "John"
public const string First = "http://axschema.org/namePerson/first";
/// Last name or surname of subject
/// "Smith"
public const string Last = "http://axschema.org/namePerson/last";
/// Middle name(s) of subject
/// "Robert"
public const string Middle = "http://axschema.org/namePerson/middle";
/// Suffix of subject's name
/// "III", "Jr."
public const string Suffix = "http://axschema.org/namePerson/suffix";
}
///
/// Business affiliation.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Company {
/// Company name (employer)
/// "Springfield Power"
public const string CompanyName = "http://axschema.org/company/name";
/// Employee title
/// "Engineer"
public const string JobTitle = "http://axschema.org/company/title";
}
///
/// Information about a person's birthdate.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class BirthDate {
/// Date of birth.
/// "1979-01-01"
public const string WholeBirthDate = "http://axschema.org/birthDate";
/// Year of birth (four digits)
/// "1979"
public const string Year = "http://axschema.org/birthDate/birthYear";
/// Month of birth (1-12)
/// "05"
public const string Month = "http://axschema.org/birthDate/birthMonth";
/// Day of birth
/// "31"
public const string DayOfMonth = "http://axschema.org/birthDate/birthday";
}
///
/// Various ways to contact a person.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Contact {
/// Internet SMTP email address as per RFC2822
/// "jsmith@isp.example.com"
public const string Email = "http://axschema.org/contact/email";
///
/// Various types of phone numbers.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Phone {
/// Main phone number (preferred)
/// +1-800-555-1234
public const string Preferred = "http://axschema.org/contact/phone/default";
/// Home phone number
/// +1-800-555-1234
public const string Home = "http://axschema.org/contact/phone/home";
/// Business phone number
/// +1-800-555-1234
public const string Work = "http://axschema.org/contact/phone/business";
/// Cellular (or mobile) phone number
/// +1-800-555-1234
public const string Mobile = "http://axschema.org/contact/phone/cell";
/// Fax number
/// +1-800-555-1234
public const string Fax = "http://axschema.org/contact/phone/fax";
}
///
/// The many fields that make up an address.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class HomeAddress {
/// Home postal address: street number, name and apartment number
/// "#42 135 East 1st Street"
public const string StreetAddressLine1 = "http://axschema.org/contact/postalAddress/home";
/// "#42 135 East 1st Street"
/// "Box 67"
public const string StreetAddressLine2 = "http://axschema.org/contact/postalAddressAdditional/home";
/// Home city name
/// "Vancouver"
public const string City = "http://axschema.org/contact/city/home";
/// Home state or province name
/// "BC"
public const string State = "http://axschema.org/contact/state/home";
/// Home country code in ISO.3166.1988 (alpha 2) format
/// "CA"
public const string Country = "http://axschema.org/contact/country/home";
/// Home postal code; region specific format
/// "V5A 4B2"
public const string PostalCode = "http://axschema.org/contact/postalCode/home";
}
///
/// The many fields that make up an address.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class WorkAddress {
/// Business postal address: street number, name and apartment number
/// "#42 135 East 1st Street"
public const string StreetAddressLine1 = "http://axschema.org/contact/postalAddress/business";
/// "#42 135 East 1st Street"
/// "Box 67"
public const string StreetAddressLine2 = "http://axschema.org/contact/postalAddressAdditional/business";
/// Business city name
/// "Vancouver"
public const string City = "http://axschema.org/contact/city/business";
/// Business state or province name
/// "BC"
public const string State = "http://axschema.org/contact/state/business";
/// Business country code in ISO.3166.1988 (alpha 2) format
/// "CA"
public const string Country = "http://axschema.org/contact/country/business";
/// Business postal code; region specific format
/// "V5A 4B2"
public const string PostalCode = "http://axschema.org/contact/postalCode/business";
}
///
/// Various handles for instant message clients.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class IM {
/// AOL instant messaging service handle
/// "jsmith421234"
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "AOL", Justification = "By design")]
public const string AOL = "http://axschema.org/contact/IM/AIM";
/// ICQ instant messaging service handle
/// "1234567"
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "ICQ", Justification = "By design")]
public const string ICQ = "http://axschema.org/contact/IM/ICQ";
/// MSN instant messaging service handle
/// "jsmith42@hotmail.com"
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "MSN", Justification = "By design")]
public const string MSN = "http://axschema.org/contact/IM/MSN";
/// Yahoo! instant messaging service handle
/// "jsmith421234"
public const string Yahoo = "http://axschema.org/contact/IM/Yahoo";
/// Jabber instant messaging service handle
/// "jsmith@jabber.example.com"
public const string Jabber = "http://axschema.org/contact/IM/Jabber";
/// Skype instant messaging service handle
/// "jsmith42"
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Skype", Justification = "By design")]
public const string Skype = "http://axschema.org/contact/IM/Skype";
}
///
/// Various web addresses connected with this personality.
///
[SuppressMessage("Microsoft.Naming", "CA1724:TypeNamesShouldNotMatchNamespaces", Justification = "By design"), SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Web {
/// Web site URL
/// "http://example.com/~jsmith/"
public const string Homepage = "http://axschema.org/contact/web/default";
/// Blog home page URL
/// "http://example.com/jsmith_blog/"
public const string Blog = "http://axschema.org/contact/web/blog";
/// LinkedIn URL
/// "http://www.linkedin.com/pub/1/234/56"
public const string LinkedIn = "http://axschema.org/contact/web/Linkedin";
/// Amazon URL
/// "http://www.amazon.com/gp/pdp/profile/A24DLKJ825"
public const string Amazon = "http://axschema.org/contact/web/Amazon";
/// Flickr URL
/// "http://flickr.com/photos/jsmith42/"
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Flickr", Justification = "By design")]
public const string Flickr = "http://axschema.org/contact/web/Flickr";
/// del.icio.us URL
/// "http://del.icio.us/jsmith42"
public const string Delicious = "http://axschema.org/contact/web/Delicious";
}
}
///
/// Audio and images of this personality.
///
[SuppressMessage("Microsoft.Naming", "CA1724:TypeNamesShouldNotMatchNamespaces", Justification = "By design"), SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Media {
/// Spoken name (web URL)
/// "http://example.com/~jsmith/john_smith.wav"
public const string SpokenName = "http://axschema.org/media/spokenname";
/// Audio greeting (web URL)
/// "http://example.com/~jsmith/i_greet_you.wav"
public const string AudioGreeting = "http://axschema.org/media/greeting/audio";
/// Video greeting (web URL)
/// "http://example.com/~jsmith/i_greet_you.mov"
public const string VideoGreeting = "http://axschema.org/media/greeting/video";
///
/// Images of this personality.
///
[SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Justification = "Required for desired autocompletion.")]
public static class Images {
/// Image (web URL); unspecified dimension
/// "http://example.com/~jsmith/image.jpg"
public const string Default = "http://axschema.org/media/image/default";
/// Image (web URL) with equal width and height
/// "http://example.com/~jsmith/image.jpg"
public const string Aspect11 = "http://axschema.org/media/image/aspect11";
/// Image (web URL) 4:3 aspect ratio - landscape
/// "http://example.com/~jsmith/image.jpg"
public const string Aspect43 = "http://axschema.org/media/image/aspect43";
/// Image (web URL) 4:3 aspect ratio - landscape
/// "http://example.com/~jsmith/image.jpg"
public const string Aspect34 = "http://axschema.org/media/image/aspect34";
/// Image (web URL); favicon format as per FAVICON-W3C. The format for the image must be 16x16 pixels or 32x32 pixels, using either 8-bit or 24-bit colors. The format of the image must be one of PNG (a W3C standard), GIF, or ICO.
/// "http://example.com/~jsmith/image.jpg"
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Fav", Justification = "By design")]
public const string FavIcon = "http://axschema.org/media/image/favicon";
}
}
}
}