- Timestamp:
- 07/09/07 10:02:18 (2 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
Mulberry/branches/v4.1d1/Sources_Common/Mail/Address/CAdbkAddress.h
r19 r86 67 67 eNickName, 68 68 eEmail, 69 eCalendar, 69 70 eCompany, 70 71 eAddress, … … 105 106 }; 106 107 107 CAdbkAddress(); 108 typedef multimap<EEmailType, cdstring> emailmap; 109 typedef multimap<EAddressType, cdstring> addrmap; 110 typedef multimap<EPhoneType, cdstring> phonemap; 111 112 CAdbkAddress() 113 { 114 _init_CAdbkAddress(); 115 } 108 116 CAdbkAddress(const CAddress ©); // Copy constructor 109 CAdbkAddress(const CAdbkAddress ©); // Copy constructor 117 CAdbkAddress(const CAdbkAddress ©) : // Copy constructor 118 CAddress(copy) 119 { 120 _copy_CAdbkAddress(copy); 121 } 110 122 111 123 explicit CAdbkAddress(const char* entry, … … 113 125 const char* uname, 114 126 const char* uadl = NULL, 127 const char* ucalendar = NULL, 115 128 const char* ucompany = NULL, 116 129 const char* uaddress = NULL, … … 121 134 const char* unotes = NULL); // Construct from actual parameters 122 135 123 CAdbkAddress& operator=(const CAdbkAddress& copy); // Assignment with same type124 136 ~CAdbkAddress(); 137 138 CAdbkAddress& operator=(const CAdbkAddress& copy) // Assignment with same type 139 { 140 if (this != ©) 141 { 142 CAddress::operator=(copy); 143 _copy_CAdbkAddress(copy); 144 } 145 146 return *this; 147 } 125 148 126 149 int operator==(const CAdbkAddress& addr) const; // Compare with another … … 135 158 { return mEntry; } 136 159 137 void AddMailAddressToList(cdstrvect& list, bool full) const; // Add email addresses to list 138 139 cdstrmultimap& GetEmails() // Get email map 160 void AddMailAddressToList(cdstrvect& list, bool full) const; // Add email addresses to list 161 void AddCalendarAddressToList(cdstrvect& list, bool full) const; // Add calendar addresses to list 162 163 emailmap& GetEmails() // Get email map 140 164 { return mEmails; } 141 const cdstrmultimap& GetEmails() const// Get email map165 const emailmap& GetEmails() const // Get email map 142 166 { return mEmails; } 143 167 … … 145 169 const cdstring& GetEmail(EEmailType type) const; // Get email 146 170 171 void SetPreferredEmail(EEmailType type) // Set preferred email type 172 { 173 mPreferredEmail = type; 174 } 175 EEmailType GetPreferredEmail() const // Get preferred email type 176 { 177 return mPreferredEmail; 178 } 179 180 void SetCalendar(const char* theCalendar) // Set calendar 181 { mCalendar = theCalendar; } 182 const cdstring& GetCalendar() const // Get calendar 183 { return mCalendar; } 184 147 185 void SetCompany(const char* theCompany) // Set company 148 186 { mCompany = theCompany; } … … 150 188 { return mCompany; } 151 189 152 cdstrmultimap& GetAddresses() // Get addressemap190 addrmap& GetAddresses() // Get address map 153 191 { return mAddresses; } 154 const cdstrmultimap& GetAddresses() const // Get addressemap192 const addrmap& GetAddresses() const // Get address map 155 193 { return mAddresses; } 156 194 … … 158 196 const cdstring& GetAddress(EAddressType type) const; // Get address 159 197 160 cdstrmultimap& GetPhones() // Get phone number map 198 void SetPreferredAddress(EAddressType type) // Set preferred address type 199 { 200 mPreferredAddress = type; 201 } 202 EAddressType GetPreferredAddress() const // Get preferred address type 203 { 204 return mPreferredAddress; 205 } 206 207 phonemap& GetPhones() // Get phone number map 161 208 { return mPhones; } 162 const cdstrmultimap& GetPhones() const// Get phone number map209 const phonemap& GetPhones() const // Get phone number map 163 210 { return mPhones; } 164 211 165 212 void SetPhone(const char* thePhone, EPhoneType type, bool append = false); // Set phone 166 213 const cdstring& GetPhone(EPhoneType type) const; // Get phone 214 215 void SetPreferredPhone(EPhoneType type) // Set preferred phone type 216 { 217 mPreferredPhone = type; 218 } 219 EPhoneType GetPreferredPhone() const // Get preferred phone type 220 { 221 return mPreferredPhone; 222 } 167 223 168 224 void SetURL(const char* theURL) // Set URL … … 180 236 private: 181 237 cdstring mEntry; // Entry name 182 cdstrmultimap mEmails; // Multiple email types 238 emailmap mEmails; // Multiple email types 239 EEmailType mPreferredEmail; // Preferred email type 240 cdstring mCalendar; // Calendar name 183 241 cdstring mCompany; // Company name 184 cdstrmultimap mAddresses; // Multiple address types 185 cdstrmultimap mPhones; // Multiple phone types 242 addrmap mAddresses; // Multiple address types 243 EAddressType mPreferredAddress; // Preferred address type 244 phonemap mPhones; // Multiple phone types 245 EPhoneType mPreferredPhone; // Preferred phone type 186 246 cdstring mURL; // URL 187 247 cdstring mNotes; // Notes 188 248 189 static bool sInited; // Done init 190 static cdstrvect sEmailTypeLabels; // Labels for types of email 191 static cdstrvect sAddressTypeLabels; // Labels for types of addresses 192 static cdstrvect sPhoneTypeLabels; // Labels for types of phones 193 194 static void InitLabels(); 195 static const cdstring& GetEmailTypeLabel(EEmailType type); 196 static const cdstring& GetAddressTypeLabel(EAddressType type); 197 static const cdstring& GetPhoneTypeLabel(EPhoneType type); 249 void _init_CAdbkAddress(); 250 void _copy_CAdbkAddress(const CAdbkAddress& copy); 198 251 }; 199 252