#pragma once #include "HtmlView.h" #include "JabberDataBlock.h" #include "JabberDataBlockListener.h" #include "boostheaders.h" class VcardForm : public HtmlView { private: VcardForm(){}; public: void vcardArrivedNotify(JabberDataBlockRef vcard); typedef boost::shared_ptr ref; virtual void onWmUserUpdate(); static VcardForm::ref createVcardForm(HWND parent, const std::string &jid, ResourceContextRef rc, bool edit); protected: std::string jid; virtual HBITMAP getImage(LPCTSTR url, DWORD cookie); virtual void onHotSpot(LPCSTR url, LPCSTR param); BOOL savePhoto(LPCTSTR path); void loadPhoto(LPCTSTR path); ImageRef img; DWORD cookie; bool editForm; enum FieldType { TXT=0, URL=1, TEXTBOX=2, MULTILINE=4 }; int detectMime(char *buf); void addHtmlField(const char *ns1, const char *ns2, const char* description, int flags=TXT); boost::weak_ptr formRef; JabberDataBlockRef vcard; boost::weak_ptr rc; JabberDataBlockListenerRef listener; };