00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef INC_MI32_CONTACTINFO_H
00026 #define INC_MI32_CONTACTINFO_H
00027
00028 #ifndef INC_MI32_MISTRING_H
00029 #include <mi32/mistring.h>
00030 #endif
00031
00032 #ifdef MISYSTEMDLL
00033 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00034 #else
00035 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00036 #endif
00037
00039 class CLASSLIBEXPORT CONTACTINFO {
00040 public:
00041 enum REQUIRED {
00042 REQUIRED_None = 0x0000,
00043 REQUIRED_AdminArea = 0x0001,
00044 REQUIRED_City = 0x0002,
00045 REQUIRED_Country = 0x0004,
00046 REQUIRED_DeliveryPoint = 0x0008,
00047 REQUIRED_Email = 0x0010,
00048 REQUIRED_Fax = 0x0020,
00049 REQUIRED_FullName = 0x0040,
00050 REQUIRED_Organization = 0x0080,
00051 REQUIRED_Position = 0x0100,
00052 REQUIRED_PostalCode = 0x0200,
00053 REQUIRED_URL = 0x0400,
00054 REQUIRED_Voice = 0x0800,
00055 REQUIRED_HoursOfService = 0x1000,
00056 REQUIRED_Instructions = 0x2000,
00057 REQUIRED_All = 0x3FFF,
00058 REQUIRED_AllButPhone = 0x37DF
00059 };
00060
00061 CONTACTINFO (
00062 );
00063
00064 CONTACTINFO (
00065 const CONTACTINFO& rhs
00066 );
00067
00068 ~CONTACTINFO (
00069 );
00070
00071 CONTACTINFO& operator= (
00072 const CONTACTINFO& rhs
00073 );
00074
00075 bool CheckRequiredSet (
00076 REQUIRED RequiredSet
00077 ) const;
00078
00079 void Clear (
00080 );
00081
00082 const MISTRING& GetAdministrativeArea (
00083 ) const { return (m_AdministrativeArea); }
00084
00085 const MISTRING& GetCity (
00086 ) const { return (m_City); }
00087
00088 const MISTRING& GetCountry (
00089 ) const { return (m_Country); }
00090
00091 const MISTRING& GetDeliveryPoint (
00092 ) const { return (m_DeliveryPoint); }
00093
00094 const MISTRING& GetEmail (
00095 ) const { return (m_Email); }
00096
00097 const MISTRING& GetFax (
00098 ) const { return (m_Fax); }
00099
00100 const MISTRING& GetFullName (
00101 ) const { return (m_FullName); }
00102
00103 const MISTRING& GetHoursOfService (
00104 ) const { return (m_HoursOfService); }
00105
00106 const MISTRING& GetInstructions (
00107 ) const { return (m_Instructions); }
00108
00109 const MISTRING& GetOrganization (
00110 ) const { return (m_Organization); }
00111
00112 const MISTRING& GetPosition (
00113 ) const { return (m_Position); }
00114
00115 const MISTRING& GetPostalCode (
00116 ) const { return (m_PostalCode); }
00117
00118 MISTRING GetReportString (
00119 ) const;
00120
00121 const MISTRING& GetURL (
00122 ) const { return (m_URL); }
00123
00124 const MISTRING& GetUserName (
00125 ) const { return (m_UserName); }
00126
00127 const MISTRING& GetVoice (
00128 ) const { return (m_Voice); }
00129
00130 bool IsEmpty (
00131 ) const;
00132
00133 bool IsEqualTo (
00134 const CONTACTINFO& rhs
00135 ) const;
00136
00137 void SetAdministrativeArea (
00138 const MISTRING& AdministrativeArea
00139 ) { m_AdministrativeArea = AdministrativeArea; }
00140
00141 void SetCity (
00142 const MISTRING& City
00143 ) { m_City = City; }
00144
00145 void SetCountry (
00146 const MISTRING& Country
00147 ) { m_Country = Country; }
00148
00149 void SetDeliveryPoint (
00150 const MISTRING& DeliveryPoint
00151 ) { m_DeliveryPoint = DeliveryPoint; }
00152
00153 void SetEmail (
00154 const MISTRING& Email
00155 ) { m_Email = Email; }
00156
00157 void SetFax (
00158 const MISTRING& Fax
00159 ) { m_Fax = Fax; }
00160
00161 void SetFullName (
00162 const MISTRING& FullName
00163 ) { m_FullName = FullName; }
00164
00165 void SetHoursOfService (
00166 const MISTRING& HoursOfService
00167 ) { m_HoursOfService = HoursOfService; }
00168
00169 void SetInstructions (
00170 const MISTRING& Instructions
00171 ) { m_Instructions = Instructions; }
00172
00173 void SetPosition (
00174 const MISTRING& Position
00175 ) { m_Position = Position; }
00176
00177 void SetPostalCode (
00178 const MISTRING& PostalCode
00179 ) { m_PostalCode = PostalCode; }
00180
00181 void SetOrganization (
00182 const MISTRING& Organization
00183 ) { m_Organization = Organization; }
00184
00185 void SetURL (
00186 const MISTRING& URL
00187 ) { m_URL = URL; }
00188
00189 void SetUserName (
00190 const MISTRING& UserName
00191 ) { m_UserName = UserName; }
00192
00193 void SetVoice (
00194 const MISTRING& Voice
00195 ) { m_Voice = Voice; }
00196
00197 private:
00198 #ifndef GENERATING_DOXYGEN_OUTPUT
00199 MISTRING m_UserName;
00200 MISTRING m_FullName;
00201 MISTRING m_Position;
00202 MISTRING m_Organization;
00203 MISTRING m_Voice;
00204 MISTRING m_Fax;
00205 MISTRING m_DeliveryPoint;
00206 MISTRING m_City;
00207 MISTRING m_AdministrativeArea;
00208 MISTRING m_PostalCode;
00209 MISTRING m_Country;
00210 MISTRING m_HoursOfService;
00211 MISTRING m_Instructions;
00212 MISTRING m_Email;
00213 MISTRING m_URL;
00214 #endif // GENERATING_DOXYGEN_OUTPUT
00215
00216 };
00217
00218 #undef CLASSLIBEXPORT
00219
00220 #ifndef GENERATING_DOXYGEN_OUTPUT
00221 DEFINE_ENUM_OP_BITWISE(CONTACTINFO::REQUIRED)
00222 #endif
00223
00224 #endif