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