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
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef INCL_PIM_CONTACT
00038 #define INCL_PIM_CONTACT
00039
00041 #include "base/fscapi.h"
00042 #include "base/util/ArrayList.h"
00043 #include "vocl/VObject.h"
00044 #include "vocl/vCard/BusinessDetail.h"
00045 #include "vocl/vCard/Name.h"
00046 #include "vocl/vCard/Note.h"
00047 #include "vocl/vCard/Title.h"
00048 #include "vocl/vCard/PersonalDetail.h"
00049 #include "vocl/vCard/Phone.h"
00050 #include "vocl/vCard/Email.h"
00051 #include "vocl/vCard/WebPage.h"
00052
00053 #define MAX_TITLES 10
00054 #define MAX_VPROPERTY_VALUE 200
00055 #define BUSINESS 0
00056 #define HOME 1
00057 #define OTHER 2
00058 #include "base/globalsdef.h"
00059
00060 BEGIN_NAMESPACE
00061
00062 class Contact : public VObject {
00063
00064
00065
00066 private:
00067 Name* name;
00068 PersonalDetail* personalDetail;
00069 BusinessDetail* businessDetail;
00070 ArrayList* notes;
00071
00081 void set(WCHAR** p, WCHAR* v);
00082 vCardProperty* getPropertyFromVProperty(VProperty* vp);
00083 VProperty* getVPropertyFromProperty(const WCHAR* name, vCardProperty* prop);
00084 VProperty* composeVAddress(Address* adr);
00085 Address* composeAddress(VProperty* vp, int type);
00086 Address* addLabelAddress(VProperty* vp, int type);
00087
00088
00089
00090 public:
00091 Contact();
00092 ~Contact();
00093
00094
00095
00101 WCHAR* getUID(WCHAR* buf = NULL, int size = -1);
00102
00111 WCHAR* getTimezone (WCHAR* buf = NULL, int size = -1);
00112
00118 ArrayList* getNotes();
00119
00124 void setNotes(ArrayList& list);
00125
00134 WCHAR* getRevision(WCHAR* buf = NULL, int size = -1);
00135
00141 Name* getName();
00142
00147 void setName(Name& n);
00148
00154 BusinessDetail* getBusinessDetail ();
00155
00160 void setBusinessDetail(BusinessDetail& d);
00161
00167 PersonalDetail* getPersonalDetail();
00168
00173 void setPersonalDetail(PersonalDetail& d);
00174
00180 void setUID (WCHAR* uid);
00181
00187 void setTimezone (WCHAR* tz);
00188
00194 void setRevision (WCHAR* revision);
00195
00196 Contact* clone();
00197 WCHAR* toString();
00198 };
00199
00200
00201 END_NAMESPACE
00202
00204 #endif