1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
use std::fmt::{self, Formatter};

mod begin;
mod end;
mod formatted_name;
mod version;
mod source;
mod name;
mod nickname;
mod photo;
mod birthday;
mod anniversary;
mod gender;
mod address;
mod telephone;
mod email;
mod impp;
mod language;
mod time_zone;
mod geo;
mod title;
mod role;
mod logo;
mod organization;
mod member;
mod relationship;
mod category;
mod note;
mod product_id;
mod revision;
mod sound;
mod uid;
mod client_property_id_map;
mod url;
mod key;
mod fburl;
mod calendar_uri;
mod calendar_address_uri;
mod x_property;

pub use self::begin::Begin;
pub use self::end::End;
pub use self::version::Version;
pub use self::formatted_name::FormattedName;
pub use self::source::Source;
pub use self::name::Name;
pub use self::nickname::NickName;
pub use self::photo::Photo;
pub use self::birthday::Birthday;
pub use self::anniversary::Anniversary;
pub use self::gender::Gender;
pub use self::address::Address;
pub use self::telephone::Telephone;
pub use self::email::Email;
pub use self::impp::IMPP;
pub use self::language::Language;
pub use self::time_zone::TimeZone;
pub use self::geo::Geo;
pub use self::title::Title;
pub use self::role::Role;
pub use self::logo::Logo;
pub use self::organization::Organization;
pub use self::member::Member;
pub use self::relationship::Relationship;
pub use self::category::Category;
pub use self::note::Note;
pub use self::product_id::ProductID;
pub use self::revision::Revision;
pub use self::sound::Sound;
pub use self::uid::UID;
pub use self::client_property_id_map::ClientPropertyIDMap;
pub use self::url::URL;
pub use self::key::Key;
pub use self::fburl::FBURL;
pub use self::calendar_uri::CalendarURI;
pub use self::calendar_address_uri::CalendarAddressURI;
pub use self::x_property::XProperty;

pub trait Property {
    fn fmt(&self, f: &mut Formatter) -> Result<(), fmt::Error>;
}